初めてのiOSプログラミング 第2版

[cover photo]
TOPICS
Mobile
発行年月日
PRINT LENGTH
424
ISBN
978-4-87311-583-2
原書
Learning iOS Programming, 2nd Edition
FORMAT
PDF

本書はプログラミング学習や経験を持つ読者を主な対象としたiOSプログラミングの入門書です。iPhoneとiPod touch、iPad向けのプログラミング方法の基本を解説する書籍ですが、読者にはある程度のプログラミング経験のある方を想定しています。iPhoneに魅力を感じてこのプラットフォームに移って来られたMacでの開発は初めてのみなさんや、ベテランMacプログラマーでiOSに挑戦してみようと思われているみなさんにはまさにうってつけです。また、本書では、Xcodeの初めての起動から始めてApp Storeでのアプリケーションの配布にいたるまで、iOSアプリケーションを初めて開発するときに必要になる基本的な事柄を学ぶことができます。さらに、アプリケーションを自分で記述していくことで、Objective-Cとコアのフレームワークに関する理解を深めることができます。

目次

はじめに
謝辞

1章 なぜネイティブなのか
    1.1 賛成と反対
        1.1.1 なぜネイティブアプリケーションを記述するのか
    1.2 リリースサイクル
    1.3 作っただけでは売れない

2章 デベロッパになる
    2.1 iOSデベロッパとしての登録
    2.2 iOS Developer Programへの参加
    2.3 Mac Developer Program
    2.4 iOS SDKのインストール
        2.4.1 ベータ版へのアクセス
    2.5 iOSデバイスの準備
        2.5.1 開発証明書の作成
        2.5.2 開発用デバイスのUDIDの取得
        2.5.3 App IDの作成
        2.5.4 モバイルプロビジョニングプロファイルの作成
        2.5.5 デバイスを開発で使用できるようにする

3章 初めてのiOSアプリ
    3.1 Objective-Cの基本
        3.1.1 オブジェクト指向プログラミング
        3.1.2 Objective-Cのオブジェクトモデル
        3.1.3 Objective-Cシンタックスの基本
    3.2 プロジェクトの作成
        3.2.1 Xcodeのプロジェクトを探る
        3.2.2 Interface Builderでのプロジェクト
        3.2.3 ユーザーインターフェイスを作成する
        3.2.4 ユーザーインターフェイスをコードに接続する
        3.2.5 アプリケーションをシミュレータで実行する
        3.2.6 アプリケーションをiPhoneに移す

4章 Objective-Cコードの記述
    4.1 クラスの宣言と定義
        4.1.1 インターフェイスを使ったクラスの宣言
        4.1.2 実装を伴うクラスの定義
        4.1.3 オブジェクトの型指定
        4.1.4 プロパティ
        4.1.5 プロパティの合成
        4.1.6 ドットシンタックス
        4.1.7 メソッドの宣言
        4.1.8 メソッドの呼び出し
        4.1.9 nilでのメソッドの呼び出し
    4.2 メモリ管理
        4.2.1 オブジェクトの作成
        4.2.2 自動解放プール
        4.2.3 alloc、retain、copy、releaseサイクル
        4.2.4 自動参照カウント
        4.2.5 deallocメソッド
        4.2.6 メモリ警告への対応
    4.3 iOSの基本的なデザインパターン
        4.3.1 MVCパターン
        4.3.2 ビューとビューコントローラ
        4.3.3 デリゲートとデータソースパターン
    4.4 まとめ

5章 テーブルビューアプリケーション
    5.1 プロジェクトの作成
    5.2 テーブルビューの作成
        5.2.1 コードの実行
    5.3 テーブルビューに値を入れる
    5.4 モデルの構築
        5.4.1 ガイドへの都市の追加
        5.4.2 イメージをプロジェクトに追加する
    5.5 コントローラのモデルへの接続
        5.5.1 アラートウィンドウを使った機能性の擬似テスト
    5.6 ナビゲーションコントロールの追加
    5.7 都市のビューの追加
    5.8 編集モード
        5.8.1 都市エントリの消去
        5.8.2 都市エントリの追加
        5.8.3 Add New Cityインターフェイス
        5.8.4 都市データの捕捉

6章 その他のビューコントローラ
    6.1 ユーティリティアプリケーション
        6.1.1 バッテリー監視アプリケーションの作成
    6.2 タブバーアプリケーション
        6.2.1 タブバー項目の追加
    6.3 ビューコントローラを組み合わせる
    6.4 モーダルビューコントローラ
        6.4.1 City Guideアプリケーションの修正
    6.5 イメージピッカービューコントローラ
        6.5.1 イメージピッカーをCity Guideアプリケーションに追加する
    6.6 Master-Detailアプリケーション
        6.6.1 ユニバーサルアプリケーションの作成
    6.7 ポップオーバーコントローラ

7章 ネットワークへの接続
    7.1 ネットワーク状態の検出
        7.1.1 AppleのReachabilityクラス
    7.2 Webブラウザをアプリケーションに埋め込む
        7.2.1 単純なWebビューコントローラ
        7.2.2 静的なHTMLファイルの表示
        7.2.3 UIWebViewからのデータの取得
    7.3 メールの送信
    7.4 インターネットからのデータの取得
        7.4.1 同期的な要求
        7.4.2 非同期的な要求
        7.4.3 Webサービスの使用

8章 データ処理
    8.1 データの入力
        8.1.1 UITextFieldとそのデリゲート
        8.1.2 UITextViewとそのデリゲート
    8.2 XMLの解析
        8.2.1 libxml2を使ったXMLの解析
        8.2.2 NSXMLパーサーを使ったXMLの解析
    8.3 JSONの解析
        8.3.1 NSJSONSerialization
        8.3.2 JSONフレームワーク
        8.3.3 Twitterトレンドの取得
        8.3.4 Twitterフレームワークの使用
        8.3.5 Twitter Trendsアプリケーション
    8.4 正規表現
        8.4.1 正規表現の速習
    8.5 データの保存
        8.5.1 フラットファイルの使用
        8.5.2 SQLデータベースへの情報の保存
        8.5.3 Core Data

9章 センサーの使用
    9.1 ハードウェアのサポート
        9.1.1 ネットワークの可用性
        9.1.2 カメラの可用性
        9.1.3 オーディオ入力の可用性
        9.1.4 GPSの可用性
        9.1.5 磁気センサーの可用性
    9.2 必要なハードウェア機能の設定
        9.2.1 常時Wi-Fi接続
        9.2.2 バックグラウンドモード
    9.3 iPhoneとiPadの違い
    9.4 カメラの使用
    9.5 Core Motionフレームワーク
        9.5.1 モーションデータのプル
        9.5.2 モーションデータのプッシュ
        9.5.3 加速度センサー
        9.5.4 ジャイロスコープ
        9.5.5 磁気センサー
    9.6 近接センサーへのアクセス
    9.7 バイブレーション(振動)の使用

10章 ジオロケーションと地図
    10.1 Core Locationフレームワーク
        10.1.1 デバイスの向いている方角
    10.2 位置を反映した天気予報
        10.2.1 逆ジオコーディング
        10.2.2 正ジオコーディング
        10.2.3 CLPlacemarkオブジェクト
        10.2.4 Weatherアプリケーションの修正
    10.3 ユーザーの位置とMapKit
    10.4 アノテーション付きマップ

11章 iCloud入門
    11.1 iCloudの使用方法
        11.1.1 iCloudのバックアップ
        11.1.2 iCloudを使用するアプリケーションのプロビジョニング
    11.2 キー/値データストレージの使用
    11.3 まとめ

12章 アプリケーションの一体化
    12.1 アプリケーションのプリファレンス
    12.2 Accountsフレームワーク
    12.3 Twitterフレームワーク
        12.3.1 ツイートの送信
    12.4 カスタムURLスキーム
        12.4.1 カスタムスキームの使用
        12.4.2 カスタムスキームの登録
    12.5 メディア再生
    12.6 アドレスブックの使用
        12.6.1 インタラクティブなピープルピッカー
        12.6.2 プログラミングによるピープルピッカー
    12.7 テキストメッセージの送信

13章 アプリケーションの配布
    13.1 足りない機能の追加
        13.1.1 アイコンの追加
        13.1.2 起動イメージの追加
        13.1.3 表示名の変更
        13.1.4 回転を有効にする
    13.2 ビルドと署名
        13.2.1 Ad Hocディストリビューション
        13.2.2 デベロッパ間の配布
        13.2.3 App Storeディストリビューション
    13.3 App Storeへの提出
        13.3.1 App Storeディストリビューション用アプリケーションのビルド
        13.3.2 App Store Resource Center
    13.4 審査に通らない理由

14章 さらにその先へ
    14.1 CocoaとObjective-C
        14.1.1 iOS SDK
    14.2 Webアプリケーション
        14.2.1 PhoneGap
    14.3 Core Data
    14.4 In-App Purchase(アプリ内課金)
        14.4.1 MKStoreKit
    14.5 Core Animation
    14.6 Game Kit
    14.7 ゲームの作成
    14.8 ルック&フィール
    14.9 ハードウェアアクセサリ

索引