関連サイト
本書の関連ページが用意されています。
【注意】
電子版v2.0(2014年11月)において、iOS 8.1/Xcode 6.1/Swift 1.1に対応しています。Xcode 6.1での変更箇所には、[Xcode 6.1]アイコンを付けています。紙版書籍をお読みの方は、本書サポートサイト(http://book.mynavi.jp/support/pc/5353/)にてXcode 6.0と6.1の差分情報を掲載してありますので、ご参照ください。
また、サポートサイトには、Xcode 6.0用とXcode 6.1用、それぞれのサンプルファイルを用意してあります。
電子版v2.1(2015年1月)において、Xcode 6.1.1に対応しています。Xcode 6.1.1での変更箇所には、[Xcode 6.1.1]アイコンを付けています。Xcodeのバージョンによる違いに関しては、本書サポートサイト(http://book.mynavi.jp/support/pc/5353/)をご参照ください。
内容紹介
2014年のWorldwide Developers Conference(WWDC)で、Appleから新しいプログラミング言語の「Swift言語」が発表されました。本書はiOS 8&Xcode 6の環境で、Swift言語を使ってiPhoneアプリを作っていく入門書です。
今回登場したSwiftは、速くて、モダンで、安全な言語です。シンプルで分かりやすいので、iPhoneアプリの入門者にとっても、非常に取り組みやすいでしょう。そしてXcodeも、もともと「より多くの人にiPhoneアプリを作って欲しい」という目的で生まれ、成長してきたアプリです。作り始めるときにはテンプレートを用意してくれますし、アプリの画面をデザインするときには、見たまま作れるエディターを出してくれます。プログラムを入力しているときには、プログラムの続きを推測して教えてくれます。Xcodeを使いこなすことができれば、アプリ作りは快適に、楽しいものになるでしょう。
本書の特徴の1つ目は「Xcodeの操作を丁寧に、できる限り分かりやすく説明している」、ということです。プログラミング初心者の方にもわかりやすく進めていただけるよう、図版や図解も豊富に盛り込んでいます。また、項目ごとに3~5分で作成できる短めのサンプルを用意しています。その作成手順を省略せずに解説していますので、本書を読みながら、ぜひサンプルを一緒に作ってみてください。読みながら、手を動かし、モノを完成させていくことで、「iPhoneアプリの作り方」を基本から身につけることができるでしょう。
もう一つの本書の特徴は、作り方だけでなく、「アプリを設計する考え方」も解説しているということです。アプリを作っていくときには「プログラムの文法」だけでなく「アプリを設計する考え方」が重要です。本書では「ビューコントローラー」「デリゲート」「AutoLayout」「Optional Value」など、開発時に重要な、でも難しそうに思える考え方をやさしく解説していきます。これらは難しそうに見えますが、実は「どう使うのか」さえ理解すれば「わかりやすい考え方」なのです。この考え方に沿ってアプリを設計していくと、自然に作りやすくなっていくでしょう。
さらに、知っていればきっと役立つTipsやワンポイントコラムも多数ちりばめてあります。必要に応じて、ぜひコラムを読んでみてください。よりスキルアップするヒントを得られることと思います。
本書を使って、ぜひ楽しみながら、iPhoneアプリ開発とSwiftを攻略していってください!
書誌情報
- 著者: 森 巧尚(著), まつむらまきお(イラスト)
- 発行日: 2014-10-31 (紙書籍版発行日: 2014-10-31)
- 最終更新日: 2015-01-20
- バージョン: 2.1.0
- ページ数: 462ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
森 巧尚
Webゲームクリエイター。FlashやiPhoneアプリなどのオリジナルゲームのコンテンツ制作、執筆活動、関西学院大学非常勤講師など。著書:『現場で通用する力を身につけるiPhoneアプリ開発の教科書[iOS 7 &Xcode 5対応]』(マイナビ)
『やさしくはじめるiPhoneアプリ開発の学校[iOS 7.1対応版]』(マイナビ)
『やさしくはじめるiPhoneアプリ開発の学校』(マイナビ)
『よくわかるiPhoneアプリ開発の教科書[iOS 6 & Xcode4.6対応版]』(マイナビ)
『よくわかるiPhoneアプリ開発の教科書[iOS 5 & Xcode4.2対応版]』(マイナビ)
『よくわかるiPhoneアプリ開発の教科書[Xcode4対応版]』(マイナビ)
『よくわかるiPhoneアプリ開発の教科書』(マイナビ)
『基本からしっかりわかる ActionScript 3.0』(マイナビ)
『おしえて!! FLASH 8 ActionScript』(マイナビ)
『おしえて!! Flash MX 2004 ActionScript』(マイナビ)
『Flash プロフェッショナル・スタイル[CS3対応]』(共著、マイナビ)
『ActionScript + CGIプログラミング』(ソフトバンククリエイティブ)
『プロとして恥ずかしくないFlashの大原則』(共著、エムディエヌコーポレーション)など
まつむらまきお
まんが家、イラストレーター。1984年からイラストレーター・まんが家として様々な媒体で活動をはじめる。95年、Flashの前身「スマートスケッチ」と出会い、制作はもちろん、Flashの布教活動にも力を入れることに。Flash2~8まで改訂を重ねた『おしえて!! Flash』(たなかまり氏と共著)は入門書として長年支持され、数多くの「おしえてチルドレン」を輩出した。成安造形大学准教授。
目次
Chapter 1 アプリ開発の準備
- Chapter 1-1 開発に必要なものは?
- 開発に必要なものは?
- Xcodeのインストール
- Chapter 1-2 Xcodeの画面について
- Chapter 1-3 スタンダードエディター
- Chapter 1-4 アシスタントエディター
- Chapter 1-5 iOSシミュレータ
Chapter 2 Xcodeの操作方法
- Chapter 2-1 アプリを作る手順
- Chapter 2-2 プロジェクトを作る:New Project
- Chapter 2-3 各ファイルの役割
- Chapter 2-4 画面をデザインする:Interface Builder
- Chapter 2-5 部品とプログラムをつなぐ:AssistantEditor
- Chapter 2-6 レイアウトを調整する:Auto Layout
- Auto Layoutとは?
- アシスタントエディターでレイアウトの確認
- Chapter 2-7 プログラムを書く:SourceEditor
- プログラムを書く
- 入力を予測してくれる「コード補完機能」
- 入力中に構文チェックしてくれる「Fix-it機能」
- ジャンプバーでジャンプ
- Chapter 2-8 iOSシミュレータでテストする:iOS Simulator
- iOSシミュレータでテストする
- いろいろなテストをする方法
- iOSシミュレータで実行できるジェスチャ
- Chapter 2-9 はじめてのアプリを作る
Chapter 3 iPhoneアプリの考え方
- Chapter 3-1 オブジェクト指向って何?
- オブジェクト指向とは?
- Chapter 3-2 クラス、オブジェクトって何?
- クラスは、設計図
- オブジェクトは、それぞれが独立して動く
- オブジェクトの作り方
- オブジェクトの使い方
- Chapter 3-3 ViewControllerって何?
- 1つの画面(店)は、1つのViewController(店長)が仕切る
- デリゲート:バイトが店長に仕事内容を聞きに行くこと
- 複数の画面(店舗)があれば、ViewController(店長)も複数
- Chapter 3-4 オブジェクト指向は「何のきっかけで、何かをする」プログラム
- プログラムをどこに書くか?
- プログラムが起こすイベント
- ユーザーが起こすイベント:IBAction
- アプリ全体が起こすイベント
Chapter 4 Swift言語
- Chapter 4-1 Swiftって何?
- Swift言語とは?
- プログラムの基本
- Chapter 4-2 Playgroundで体験しよう
- Playgroundって何?
- Playgroudを試してみよう
- Chapter 4-3 変数、型、文字列
- 変数(へんすう)
- 定数(ていすう、じょうすう)
- データ型
- 変数が有効な範囲
- Chapter 4-4 Optional value(オプショナル値)
- 変数に、nilを入れるとエラーになる
- 「?」や「! 」で、Optional value
- Chapter 4-5 コレクション:配列(Array)・辞書データ(Dictionary)
- 配列(Array)
- 配列(Array)を作る
- 配列(Array)を調べる
- 配列(Array)を操作する
- 辞書データ(Dictionary)
- 辞書データ(Dictionary)を作る
- 辞書データ(Dictionary)を調べる
- 辞書データ(Dictionary)を操作する
- Chapter 4-6 制御文
- 制御文
- if文
- switch文
- while文
- for文
- Chapter 4-7 関数
- 関数(かんすう)
- Chapter 4-8 クラス
- クラスの基本形
- クラスの継承
Chapter 5 基本的な部品の使い方
- Chapter 5-1 UILabel:文字を表示する
- UILabelとは
- IBで設定する方法
- プログラムで設定する方法
- やってみよう UILabelの使用例
- Chapter 5-2 UIButton:ユーザーが押して何かをする
- UIButtonとは
- IBで設定する方法
- プログラムで設定する方法
- ボタンの使い方
- やってみよう UIButtonの使用例
- Chapter 5-3 UISwitch:オンかオフを選択させる
- UISwitchとは
- IBで設定する方法
- プログラムで設定する方法
- スイッチの使い方
- やってみよう UISwitchの使用例
- Chapter 5-4 UISlider:スライドして値を選択させる
- UISliderとは
- IBで設定する方法
- プログラムで設定する方法
- スライダーの使い方
- やってみよう UISliderの使用例
- Chapter 5-5 UITextField:キーボードで1行のテキストを入力させる
- UITextFieldとは
- IBで設定する方法
- プログラムで設定する方法
- テキストフィールドの使い方
- やってみよう UITextFieldの使用例
- Chapter 5-6 UITextView:長いテキストを表示したり、入力させる
- UITextViewとは
- IBで設定する方法
- プログラムで設定する方法
- テキストビューの使い方
- やってみよう UITextViewの使用例
- Chapter 5-7 UIDatePicker:日付や時刻を選択させる
- UIDatePickerとは
- IBで設定する方法
- プログラムで設定する方法
- デートピッカーの使い方
- やってみよう UIDatePickerの使用例
- Chapter 5-8 UIPickerView:複数の値から1つを選択させる
- UIPickerViewとは
- ピッカーの使い方
- やってみよう UIPickerViewの使用例
- Chapter 5-9 UIAlertController:アラートやアクションシートを表示する
- UIAlertControllerとは
- アラートの使い方
- やってみよう アラートの使用例
- やってみよう アラートで簡単おみくじ
- アクションシートの使い方
- やってみよう アクションシートの使用例
Chapter 6 データの読み込みと保存
- Chapter 6-1 UIImageView:プロジェクト内の画像を表示する
- UIImageViewとは
- IBで設定する方法
- プログラムで設定する方法
- やってみよう プロジェクト内の画像を表示する
- Chapter 6-2 UIImageView:Web上の画像を表示する
- UIImageViewとは
- Web上の画像を表示させる方法
- やってみよう Web上の画像を表示する
- Chapter 6-3 UIWebView:Webページを表示する
- UIWebViewとは
- IBで設定する方法
- ウェブビューの使い方
- やってみよう UIWebViewの使用例
- Chapter 6-4 NSUserDefault:一時的にデータを保存する
- NSUserDefaultとは
- ユーザーデフォルトの使い方
- やってみよう NSUserDefaultの使用例
- Chapter 6-5 Social Framework:Twitter へ投稿する
- Social Framework(SLServiceTypeTwitter)とは
- Twitter投稿ダイアログの使い方
- やってみよう Social Frameworkの使用例
- Chapter 6-6 Social Framework:Facebookへ投稿する
- Social Framework(SLServiceTypeFacebook)とは
- Facebook投稿ダイアログの使い方
- やってみよう Social Frameworkの使用例
- Chapter 6-7 JSONデータってなに?
- JSONデータとは
- 主な書き方
- Chapter 6-8 NSJSONSerialization:JSONデータを扱う
- NSJSONSerializationとは
- JSONデータの読み込み方
- やってみよう「 配列」の読み込み
- やってみよう「 辞書データ」の読み込み
- やってみよう「 辞書の配列」の読み込み
- やってみよう「 辞書の辞書」の読み込み
Chapter 7 複数画面で作る
- Chapter 7-1 複数画面アプリの考え方
- どのように画面を切り換えるかを決める
- 画面ごとにViewControllerを用意する
- どのようにデータを連携させるかを考える
- Chapter 7-2 Single View Applicationから複数画面アプリを作る
- Single View Applicationから複数画面アプリを作る
- やってみよう 1 Single View Applicationの使用例
- やってみよう 2 データの受け渡しをする
- Chapter 7-3 Tabbed Application:複数画面が切り替わるアプリ
- Tabbed Applicationとは
- タブバーアプリケーションの作り方
- やってみよう 1 タブで2つの画面を行き来した回数を出力する
- やってみよう 2 タブで3つの画面を行き来した回数を出力する
Chapter 8 テーブル表示
- Chapter 8-1 UITableView:複数のデータをリスト表示する
- UITableViewとは
- テーブルビューの使い方
- やってみよう UITableViewにデータを表示して、選択すると値を出力する
- Chapter 8-2 Master-Detail Application:一覧画面と詳細画面が切り替わるアプリ
- Master-Detail Applicationとは
- Master-Detailアプリ(編集機能なし)の作り方
- やってみよう Master-Detail Applicationの使用例
- Chapter 8-3 UITableViewCell:セルの種類を選択する
- UITableViewCellとは
- セルの種類を選んで使う方法
- やってみよう 1 UITableViewCellの使用例
- やってみよう 2 フォントリストをテーブルリストで表示する
- Chapter 8-4 UITableViewCell:セルを自由にレイアウトする
- セルの中身を自分でレイアウトする方法
- 部品にタグをつけて、タグでアクセスする方法
- やってみよう 1 部品にタグをつけて、タグで表示する
- セルのカスタムクラスを作って、アクセスする方法
- やってみよう 2 セルのカスタムクラスを作って表示する
Chapter 9 Gameテンプレートで作る
- Chapter 9-1 Gameとは?
- Gameテンプレートはいろいろ種類がある
- Chapter 9-2 Spritekitとは
- Spritekitは、2Dゲームのフレームワーク
- Chapter 9-3 SpriteKit テンプレート:基本構造
- やってみよう SpriteKitテンプレートで2Dアプリを動かしてみよう
- やってみよう SpriteKitテンプレートを必要最低限の状態にする
- Chapter 9-4 表示オブジェクトを作る:文字、画像
- 文字を作る:SKLabelNode
- スプライトを作る:SKSpriteNode
- シーンに表示する:addChild(SKNode!)
- Chapter 9-5 2Dパーティクルを作る
- 2Dパーティクルとは
- 2Dパーティクルを作る:SpriteKit Particle File
- 2Dパーティクルを使う:SKEmitterNode( )
- Chapter 9-6 2D光源を作る
- SKLightNodeとは
- スプライトに光を当てたり、影を作る
- やってみよう 指で火を動かすと影も動くアプリを作る
- Chapter 9-7 スプライトに動きをつける:移動、回転、拡大縮小
- SKActionで「動きを作り」、runActionメソッドで「動きをつける」
- 移動する動きを作る
- 回転する動きを作る
- 拡大縮小する動きを作る
- 動きの加速、減速を指定する:var timingMode: SKActionTimingMode
- Chapter 9-8 複数の動きをつける:繰り返し動かす、順番に動かす
- 複数の動きをつける
- Chapter 9-9 2D物理シミュレーションで動かす
- 2D物理シミュレーションとは
- 物理エンジンの使い方
- 物体のいろいろな設定
- やってみよう タップするとキャラが登場して物理運動を行うアプリ
- Chapter 9-10 SceneKitとは
- Scenekitは、3Dゲームのフレームワーク
- Chapter 9-11 SceneKit テンプレート:基本構造
- やってみよう SceneKit テンプレートで3Dアプリを動かしてみよう
- やってみよう SceneKit テンプレートを必要最低限の状態にする
- Chapter 9-12 立体を作る:立方体、球、文字など
- SCNNodeで、3Dオブジェクトの入れものを作る
- いろいろな立体図形を作る
- テクスチャを貼る:SCNMaterial( )
- シーンに表示する:scene.rootNode.addChildNode(SCNNode)
- 参考 一眼カメラのようなボケ味のある映像にする
- Chapter 9-13 3Dパーティクルを作る
- 3Dパーティクルとは
- 3Dパーティクルを作る:SceneKit Particle System
- 3Dパーティクルを使う:SCNParticleSystem( )
- Chapter 9-14 3Dファイルを読み込む:Colladaファイル
- Colladaファイルを読み込む
- 参考 Photoshop CCで3Dモデルを作って読み込む
Chapter 10 アプリを仕上げる
- Chapter 10-1 アイコン
- アイコンとは
- アイコンを設定する方法
- Chapter 10-2 起動画面
- 起動画面とは
- Launch Screen(起動画面)
- Launch Image(起動画像)
- Chapter 10-3 実機でテストしてみよう
- 実機でテストするには
- 実機でテストする方法