7が搭載されたデバイスが発売されます。5へとバージョンアップしました。本書では、Xcodeの基本操作からObjective-Cの基礎知識にはじまり、イベント管理、シーンの移動、アニメーション、モーションエフェクト、位置情報、コンパス機能、地図表示、カメラと画像合成までを簡単なサンプルをつくりながらコーディングをマスターします。このサポートページでは、本書のサンプルファイルのダウンロード、正誤表、本書の構成などを掲載しています。本書を読むにあたり、ぜひサンプルをダウンロードしてXcodeで開いて実際にコーディングを行いながらiOSアプリの開発方法を学んでください。本書の構成と各Partの内容について以下に記します。各Partの目次内容については書籍紹介ページを参照ください。Part1XcodeをはじめるXcodeの準備と使い方の概要を説明します。インターフェースビルダを使って画面にスイッチを置き、スイッチを切り替えると画面の色が切り替わるアプリも作ります。アプリ開発をまずは体験してみてください。Part2Objective-Cの基礎知識Objective-Cのプログラミングの基礎知識を学びます。プログラミング初心者にとっては、やや難解な部分があるかもしれません。ここですべてを理解し覚える必要はありませんが、まずは目を通してみてください。これから先、何度か読み直すことになる大事なことが書いてあります。Part3配列・セット・辞書・構造体このパートでは見栄えのいいアプリを作るわけでもなく、単調で少し退屈かもしれません。多くのデータをどのように管理し、操作すれば効率的で効果的なのか、それを知っているかどうかは後々大きな差となって現れてきます。多くのメソッドで引数の値に配列や構造体のデータ型を指定しています。そのようなメソッドを使いこなす上でも欠かせない知識です。Part4アシスタントエディタとクラス定義このパートは本書の前半の大きな区切りです。ここではインターフェースビルダを使ったアプリ開発の手法とそのプログラミングの構造を具体例で示します。Chapter4-3では猫年齢を人間年齢に換算するアプリを作りますが、これには多くの基本的な要素が含まれています。Chapter4-4のカスタムクラス定義はどちらかというと中級者向けの内容です。Part5ビュー・画像・ボタンの作成アプリ開発の実践的な楽しさはこのパートからはじまります。このパートではプログラミングで画面に絵を表示したり、ボタンを追加する方法を解説します。利用するクラスやメソッドも増えて、プログラミングも本格的になってきます。Part6イベント管理タッチ、スワイプ、ピンチなどのフィンガーアクションだけでなく、アプリではいろいろなイベントに応じる処理が必要です。デリゲートを使ったイベント処理は、多くの場面でキーとなる重要な手法です。このパートでイベントに対する理解を深めましょう。Part7シーンの移動ストーリーボードを使ったシーン設計はXcodeのもっとも重要な機能のひとつです。シーン移動を行うことで作れるアプリの幅も広がり、使い勝手も大きく変わります。ナビゲーションコントローラによるシーンの遷移、タブバーによる画面の切り替えなど、iOSアプリの基本形がここにあります。Part8ユーザーデフォルトとテキストデータの保存・読み込みデバイスに前回の使用状態や初期設定を保存できるかどうかで、アプリが提供できるサービスの質が大きく違ってきます。テキストファイルの保存・読み込みの例では、キーボードによって画面が隠れてしまう場合の対応についても説明します。Part9描画とアニメーションこのパートではプログラミングを使って描画したり、アニメーションを行う方法について解説します。難しくはありませんが、これらを行うにはObjective-Cの基本的な知識が欠かせません。これまでの知識を整理し、理解度を確認する上でも挑戦したい内容です。アニメーションにはいくつかの方法がありまが、iOS7で追加されたSpriteKitとダイナミックアニメータには注目です。重力や衝突といった物理演算機能を手軽に利用できるダイナミックアニメータは、ゲームアプリ以外でも活用したい機能です。Part10デバイスの機能を利用するデバイスの回転、傾き、加速度、方位コンパス、位置情報など、デバイスの各種センサー機能を活用することで開発できるアプリのアイデアが広がります。地図表示、カメラ撮影、フォトライブラリの利用、画像合成など、本書で学んできた多くの知識をベースにアプリを作ってみましょう。Xcode5+iOS7対応」(1刷)をご購入いただき、誠にありがとうございます。刊行後、本書内で以下の通り誤りがあることがわかりました。お詫びして訂正いたします。本正誤表とあわせ、3刷正誤表も参照ください。NOTE”およびTwitterアカウント@objc_noteでも随時更新・通知を行っております。5の図と差し替わっていませんでした。正しくは以下の図です。コード内のコメント(図を含む)誤://換算結果を表示するテキストフィールド正://換算結果を表示するラベル※コメントのため動作には影響しません。下のリスト下から3行目の行の}が抜けていました。サンプルファイルには間違いはありません。誤:(UIIMageView)正:(UIImageView)※Mは小文字です。【List】ViewControllerクラスの実装ファイル1つ前のサンプルのコードになっていました。このプロジェクトのファイルがダウンロードファイルに含まれていませんでした。※2013/12/18以前の訂正内容に誤りがありました。正しいファイルおよびリストは以下の通りになります。Controllerシーンです。誤:SwitchLabel正:switchLabel※sは小文字です。bezierPathWithRect:theRect];※なお、サンプルファイルは正しいコードになっています。サンプルファイルP.385〜P.391で使用しているex_NSString_writeToFile_ver2プロジェクトで、使用しない画像ファイルへのリンクが含まれていました。プロジェクトを開くと次の図のように赤文字で表示されるかと思います。画像へのリンクを削除してご利用ください。誤:解除すること解決します。正:解除することで解決します。サンプルファイルP.454のリストの6行目のif文は、カエルが10匹を超えたらタイマーを停止するコードが書いてあります。ところが、実際のサンプルファイルでは100匹になっています。動作テストしたときに100匹にしたものをアップしてしまったようです。(^^;;書籍に書いてあるように、10匹ぐらいで止めてください。100匹も出すと動きがカクカクです。リスト内プログラムリストで「すべてのビヘイビアにカエルを登録します」の補足説明が指し示している範囲が間違っていました。正しくは次の図のように「//カエルをビヘイビアに追加する」のコメント行からの5行です。訂正してお詫びします。Xcode5+iOS7対応」(2刷)をご購入いただき、誠にありがとうございます。刊行後、本書内で以下の通り誤りがあることがわかりました。お詫びして訂正いたします。本正誤表とあわせ、3刷正誤表も参照ください。NOTE”およびTwitterアカウント@objc_noteでも随時更新・通知を行っております。コード内のコメント(図を含む)誤://換算結果を表示するテキストフィールド正://換算結果を表示するラベル※コメントのため動作には影響しません。下のリスト下から3行目の行の}が抜けていました。サンプルファイルには間違いはありません。誤:(UIIMageView)正:(UIImageView)※Mは小文字です。【List】ViewControllerクラスの実装ファイルすでに1刷の正誤表で記しているように、1つ前のcenterプロパティを移動させるサンプルのコードが重複して掲載されています。1刷正誤表に正しいコードを掲載していますが、2013/12/18以前に掲載されていたコードにも誤りがありました。正しくは以下の図の通りです。誤:SwitchLabel正:switchLabel※sは小文字です。Xcode5+iOS7対応」(3刷)をご購入いただき、誠にありがとうございます。刊行後、本書内で以下の通り誤りがあることがわかりました。お詫びして訂正いたします。NOTE”およびTwitterアカウント@objc_noteでも随時更新・通知を行っております。「よく使う定数」の表、2〜5行目に誤りがありました。「MyLineクラスで作ったビュー」が指している位置が誤っています。正しい指し位置は、折れ線を描いている図形になります。見出し誤:タブコントローラ正:タブバーコントローラChapter10-5chapter全体を通して何カ所かtrackingがtrakingと表記されておりました。リストリスト「delegateプロパティの設定」のコメント文の次にコードの記述漏れがありました。コメント文の後に以下のdelegeteを設定するコードがあります。※本サンプルプログラムは本書を利用し学習する目的で作成されました。ダウンロードしたサンプルプログラムの著作権は、大重美幸に帰属します。すべてのデータに関し、著作権者および出版社に無断での転載、二次使用を禁じます。※ダウンロードしたサンプルプログラムを利用することによって生じたあらゆる損害について、著作権者および株式会社ソーテック社はその責任を負いかねます。個別の問い合わせには応じかねますので、あらかじめご了承ください。大重美幸/ソーテック。