目次

はじめに
本書の構成
読者層について
ダウンロードについて

第1章 IPHONEOSネットワークプログラミング

ネットワークの向こう側
単体ツールからネットワークサービスへの拡大
業務での利用拡大
メディアとしてのIPHONE
場所というコンテキストを活用する
ネットワーク連動型アプリの仕組みを紹介

第2章 APP STOREのネットワークアプリ

ネットワークから情報を取り込む
ネットワークへ情報を発信する
ネットワークへカメラ画像を発信する
GPSを使って近隣情報を取得する
IPHONEを最新テクノロジーのフロントエンドにする
緊急情報をプッシュ通知で受け取る
構成技術を組み合わせてサンプルを作る
コラム:プッシュ通知:APPLE PUSH NOTIFICATION SERVICE (APNS)
プッシュ通知の仕組み
プッシュ方式の背後にある思想

第3章 ネットワーク&GPSプログラミング技術解説

IPHONEOSで使えるネットワーク
同期と非同期
コアロケーション – CORE LOCATION
イメージピッカー – IMAGEPICKER
MYSQL
GOOGLE MAPS
WORDPRESS
IPHONEとIPOD TOUCHの利用形態
コラム:IPHONEOSデバイスの識別

第4章 ネットワークプログラミング解説

【MUSICRANK】インターネット上の情報を収集する

制作するサンプルについて
構成図
iTunes StoreのRSS
XMLParserについて
制作の流れ
アプリケーションクラスの生成
Musicクラスの生成
PropertyDictionaryの説明
パースロジックの実装
MusicRankAppDelegateに追記
一覧ページの生成
詳細表示ページの生成
詳細表示ページのUIを作成
動作確認
デバッグのヒント
NSLogを使ったパース状況の監視

コラム:ネットワーク接続チェック

ユーザーへのフィードバック
Wi-Fi接続の落とし穴
接続チェック方法
インジケータでの状況表示

【MAPCAST】現在地の情報をネット公開する

制作するサンプルについて
構成図
データベースの構造
iPhoneから取材サーバへデータを受け渡す
iPhone側の制作の流れ
アプリケーションクラスの生成
アプリで扱うデータを一元管理 AppData
MainViewControllerとFlipsideViewControllerの役割
MainViewControllerの準備
MainView.xibの修正
frameworkの追加
現在位置を取得する CoreLocation
現在位置を表示する MapView
カメラの使い方 ImagePicker
FlipsideViewControllerの準備
FlipsideView.xibの修正
サーバへPOSTする
サーバ側の処理
iPhone側からのデータ受信
GoogleMapsへのプロット
位置情報を修正する仕組み
デバッグのヒント

コラム: 写真の保存完了チェック

写真をカメラロールに保存する

【NEARBY】観光情報CMSから近隣情報を取得する

制作するサンプルについて
構成図
Wordpressの準備
Wordpressのインストール
必要なプラグインGoogleMaps-Anywhereのインストール
iPhone用テーマのインストール
記事と地図の作成
WordpressからのXML情報取得
位置情報はどこにあるか
GoogleMaps-Anywhereのカスタムフィールド
コラム:2点間の距離計算
XML情報の生成テスト
iPhoneアプリの構成
アプリケーションクラスの生成
AppDataの内容
TableViewに取り込む – RootViewController
記事の詳細表示 – DetailViewController
URLopenでWordpressを表示
MapViewを回転させて方位を表現する

コラム: 拡張現実 AUGMENTED REALITY

空間に情報をマッピングする
ARをコーディングする
コンテキストを活かす

【NEARBY-AR】情報を空間にマッピングする-拡張現実

制作するサンプルについて
構成図
空間マッピングの仕組み
空間に情報を描くInfoTagView
空間座標の計算
Nearbyのソースに組み込む
加速度センサーによる傾き計算
空間座標の正確さと使い勝手
CustomImagePickerの生成

【REMOTEWEB】IPHONEをウェブサーバにする

制作するサンプルについて
iPhoneウェブサービスの動き
処理の流れ
ソケット通信の仕組み
アプリケーションクラスの生成
ウェブサービススレッドの生成
HTTPリクエストに応じた処理
メインスレッド側の処理
FlipsideViewController
色々なサービスを実装してみよう
デバッグのヒント

第5章 パフォーマンス・チューニング

統合パフォーマンス改善ツール「インスツルメンツ(INSTRUMENTS)」
メモリリークの無いソースコード
メモリをリークさせる
autoreleaseを使う
インスツルメンツの動作がおかしいと思ったら
時間の掛かっている処理を見つけ出す「SHARK」
Sharkの動作原理
無駄なループを使って実験
サンプリングを行う
サンプリング結果の分析
Xcodeに戻ってソースコードを修正
使いやすいアプリにするためのブラッシュアップ

第6章 遠方へのIPHONEアプリの配布

AD HOC配布に必要なもの
AD HOC配布の手順
iPhoneオーナーからのUDID収集
デバイスの登録
Ad Hocプロビジョニング作成
Ad Hoc用にアプリをビルド
アプリのインストール

第7章 IPHONEの魅力とは – アプリ開発スタイル

キャプチャ能力
シンプルでミニマム
遊び心
分かりやすさ
信頼と信用
タッチの差

補足資料

IPHONEアプリ開発の基本ステップ
アプリ開発に必要なもの
アプリ開発の流れ
IPHONEアプリ開発に関する情報源
iPhone Dev Center
iPhone SDK 日本語ドキュメント
iTunesでのiPhone Development Resources
Developer Forum
スタンフォード大学のiPhoneアプリ開発講座
本書のサポート / サンプルダウンロード