ポケットリファレンスシリーズiPhoneiPad開発ポケットリファレンス

[表紙]iPhone/iPad開発ポケットリファレンス

四六判/512ページ

定価(本体2,780円+税)

ISBN 978-4-7741-6127-3

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

ロングセラーシリーズに,スマートフォン/タブレットの代名詞といえるiPhone/iPadでアプリを開発するための知識をまとめたリファレンスが登場。

「逆引き形式で目的からすぐ探せる」
「サンプルコードを見ながら具体的な実装のイメージがつかめる」

という特徴で,困ったときにすぐに役立ちます。

UIが一新されたiOS 7に対応した,現場で役立つ信頼の1冊!

こんな方におすすめ

  • iOSアプリ開発者

著者の一言

初代iPhoneが発売されて6年近く経ちました。iPhoneの斬新なユーザーインターフェースがスマートフォンやアプリの普及に大きく貢献したことは言うまでもありません。今ではテレビやニュースサイトで「アプリ」という言葉を聞かない日はないほどです。9月末に新モデルが発売され,在庫分がすぐに完売したニュースも記憶に新しいです。すぐに流れが変わってしまうIT機器の中で,iPhoneが発売以来ずっと注目され,新しい端末が発表される度に大きなニュースになるほど中心的な位置を占めていることは,端末の完成度とアプリの充実度が高く評価されていることの証左であると言えます。

その一方で,これだけ端末が普及し,アプリの開発者も増えているにも関わらず,具体的な開発手法がよく分からない,Objective-Cのドキュメントが多すぎてどこから始めればよいのかわからない,アプリ開発の方法がいくつもあって自分に合った方法が見つからない,などの声もよく聞かれます。また,iOS4以降毎年のようにiOSのアップデートが行われているために,せっかく身につけた技術が今後どうなってしまうか不安という開発者も多いと聞きます。

本書では,iOSアプリ開発においてベースとなるもっとも基本的な項目や,将来的なアップデートを踏まえても必要であると思われる事柄について整理し,すぐに実行できるサンプルとともに説明しています。開発ツールXcodeやAppleの技術ドキュメントに関しても紙面の許す限り触れるようにしております。一通りアプリの開発ができる方はもちろん,これからアプリを作ってみようという方にも第一歩となるように配慮した構成を心掛けております。

本書で紹介した項目の1つ1つが,読者の皆様が将来的に開発するアプリに役立つことを願ってやみません。

目次

  • はじめに
  • 本書の使い方

Chapter 1 iOSアプリ開発の基本

概要

開発に必要な環境

Xcodeの基本的な使い方

Chapter 2 Objective-Cの基本的な使い方

Objective-Cとは

    データ型と変数

    • データ型
    • 変数を宣言する
    • 定数を宣言する
    • スコープ
    • 型を変換する
    • ログを出力する

    演算子

    制御文

    • 処理を分岐する
    • 複数の条件で処理を分岐する
    • 処理を繰り返す
    • 1度実行した後に処理を繰り返す
    • 上限を決めて処理を繰り返す
    • コレクション内で処理を繰り返す
    • 処理を抜け出す
    • 処理をスキップする

    クラス

    • コメントを記述する
    • クラスを定義する
    • ヘッダファイルをインポートする
    • 利用するクラスを宣言する
    • メソッドを定義する
    • インスタンスを生成する/初期化する
    • メソッドを実行する
    • プロパティを利用する
    • スーパークラスのメソッドを実行する
    • カテゴリを利用する
    • オブジェクトの参照カウントを管理する

    文字列

    • 文字列を利用する
    • 文字列を結合する
    • 文字列を比較する
    • 可変な文字列を利用する
    • 文字列を追加する
    • 文字列を置換する
    • 文字列を削除する
    • 集合を利用する
    • 集合から要素を取り出す

    配列

    • 配列を利用する
    • ファイルから配列を生成する
    • 要素の数を取得する
    • 配列の要素を取得する
    • 配列の要素を結合する
    • 可変な配列を利用する
    • 配列に要素を追加する
    • 配列から値を削除する

    辞書

    • 辞書を利用する

    配列

    • 要素の数を取得する
    • 全てのキー/値を取得する
    • キーに対する値を取得する
    • 可変な辞書を利用する
    • 辞書に要素をセットする
    • 辞書から要素を削除する

    バイナリデータ

    • バイナリデータを扱う
    • データをファイルへ出力する
    • 可変データを利用する
    • データを追加する

    日時

    • 日時を取得する
    • 日時のフォーマットを指定する
    • ローカル時間を取得する
    • 日付を比較する
    • 時間を加算する

    Chapter 3 画面の作成

    概要

    アプリ全体の制御

    • アプリケーションを初期化する
    • アプリの状態が変わった際の処理を行う
    • windowを初期化/利用する

    汎用的な画面

    • ビューコントローラーを利用する
    • 画面呼び出しの際の処理を指定する
    • 画面やUIを追加/削除する
    • モーダルウィンドウを利用する
    • 画面のタイトルを指定する
    • コンテナビューコントローラーを利用する

    ナビゲーション

    • ナビゲーションを利用する
    • 次の画面へ遷移する
    • ナビゲーションバー/ツールバーを表示/非表示する
    • バックボタンを非表示にする

    テーブル

    • テーブルビューコントローラーを利用する
    • テーブルのセクションを利用する
    • テーブルのセルが選択された際の処理を行う
    • テーブルを編集可能にする
    • テーブルのセルを編集可能にする
    • テーブルの編集形式を指定する
    • テーブルを編集する
    • テーブルのセルを挿入/削除する
    • テーブルのデータを移動する

    タブ

    • タブバーを利用する
    • 選択された画面を取得する
    • タブを装飾する

    書籍風のページ

    • 書籍風のページを利用する
    • ページを指定する
    • 次,前のページを指定する
    • ページめくりの詳細を指定する

    画面の分割

    • 画面を分割する
    • 縦向きの場合に画面を分割する
    • 画面の分割を固定する

    ポップオーバー

    • ポップオーバーを表示する
    • ポップオーバーの形状を指定する
    • ポップオーバーのサイズを指定する
    • ポップオーバーを終了しないUIを指定する
    • ポップオーバーを閉じる

    Chapter 4 コンテンツを表示する

    概要

    汎用的なビュー

    • ビューを表示する
    • 子要素の自動調整を行う
    • 色/透明度を指定する
    • 描画をカスタマイズする
    • ビューを変形する
    • アニメーションを実装する
    • ビューの外観を変える
    • モーションエフェクトを利用する
    • nibファイルの内容を取得する

    ラベル

    • ラベルを表示する
    • ラベルに文字列を合わせる
    • 改行/文字の切り捨てを指定する
    • 横揃え/縦揃えを指定する
    • 影をつける

    画像

    • 画像を表示する
    • 画像のサイズを調整する
    • アニメーションを表示する

    テキスト

    • テキストを表示する
    • テキストを編集する
    • テキストを編集時の処理を指定する

    スクロールビュー

    • スクロールビューを表示する
    • スクロールの詳細を指定する
    • スクロール時の処理を指定する

    テーブル

    • テーブルを表示する
    • セルの種類を指定する
    • セルのアクセサリを指定する
    • セル内にビューを配置する

    コレクション

    • コレクションを利用する
    • コレクションのセルにビューを表示する

    Webコンテンツの表示

    • Webコンテンツを利用する
    • Webページを操作する
    • Webページの操作時の処理を指定する

    地図

    • 地図を表示する
    • 地図の範囲を指定する
    • 地図上にピンを立てる
    • 地図の読み込み時の処理を指定する
    • 3Dマップを表示する
    • オーバーレイを表示する
    • 2点間のルートを表示する
    • 地図のスナップショットをとる

    進捗状況

    • プログレスバーを表示する
    • 進捗状態を指定する

    進行状態

    • アクティビティインジケーターを表示する
    • アクティビティインジケーターを開始/停止する

    Chapter 5 UI部品を利用する

    概要

    入力欄

    • 入力欄を表示する
    • 入力欄のプレースホルダ/キーボードを指定する
    • 入力/編集時の処理を行う

    ボタンの利用

    • ボタンを表示する
    • ボタンの状態に応じた色を指定する

    スイッチの利用

    • スイッチを表示する

    選択肢の利用

    • 選択肢を表示する
    • 選択肢をカスタマイズする

    スライダー

    • スライダーを表示する
    • スライダーに画像を利用する

    ステッパー

    • ステッパーを表示する

    ピッカー

    • ピッカーを表示する
    • ピッカーの項目を指定する
    • ピッカーの項目のタイトルを指定する
    • ピッカーのサイズを指定する
    • ピッカーの選択時の処理を指定する

    日付ピッカーの利用

    • 日付ピッカーを表示する
    • 日付の最大/最小を指定する
    • 選択した日付を参照する

    サーチバーの利用

    • サーチバーを表示する
    • サーチバーのボタン/スコープを利用する
    • サーチバーの検索/キャンセル時の処理を指定する

    ツールバー

    • ツールバーを表示する
    • ツールバーにボタンを配置する

    ナビゲーションバー

    • ナビゲーションバーを表示する
    • ナビゲーションバーにボタンを配置する

    タブバー

    • タブバーを表示する
    • タブバーにアイテムを表示する
    • タブバーのアイテム選択時の処理を指定する

    アラート

    • アラートを表示する
    • アラートの選択時の処理を指定する

    アクションシート

    • アクションシートを表示する
    • アクションシート選択時の処理を指定する

    Chapter 6 画面上の操作

    概要

    単純な操作

    • タッチに反応する
    • タッチ時の動作を指定する
    • タッチの位置を検出する
    • タップ数を検出する
    • 端末の揺れを検出する

    複雑な操作

    • ジェスチャーを検出する
    • 複雑なタップを利用する
    • 拡大/縮小の動きを利用する
    • 回転の動きを利用する
    • スワイプを利用する
    • ドラッグを利用する
    • 長押しを利用する

    UI部品への操作

    • 入力時の処理を行う
    • 入力時の処理を取り消す
    • UI部品にフォーカスする/フォーカスを外す

    Chapter 7 端末の機能

    概要

    センサー

    • 加速度センサーの参照を開始/停止する
    • 加速度センサーの値を一定間隔で取得する
    • ジャイロセンサーの参照を開始/停止する
    • ジャイロセンサーの値を一定間隔で取得する

    位置情報

    • 緯度経度の取得を開始/停止する
    • 緯度経度を参照する
    • 現在の位置を地図に表示する
    • 住所/地名から緯度経度を取得する
    • 緯度経度から住所を取得する
    • 方位の取得を開始/停止する
    • 方位を取得する

    カメラ,カメラロール

    • イメージピッカーを表示する
    • ファイル取得時/キャンセル時の処理を指定する
    • 撮影時の詳細を指定する
    • 撮影した画像/動画を保存する

    端末の機能

    • システム情報を参照する
    • 通知センターを利用する
    • 端末の向きを取得する
    • 近接センサーを利用する
    • 電話/メール/ブラウザーを起動する
    • タイマーを利用する

    Chapter 8 データの利用

    概要

    アプリ内部でのデータ保存

    • アプリの設定としてデータを保存する
    • 設定したデータを取得する
    • ディレクトリを利用する
    • ファイルパスを結合する
    • ファイルに文字列を書き込む
    • ファイルの存在を確認する
    • ファイルの内容を取得する

    永続ストア

    • スキーマを参照する
    • 永続ストアコーディネータを生成する
    • 永続ストアとオブジェクトを関連づける
    • データモデルを定義する
    • エンティティにデータをセットする
    • データを保存する
    • 検索条件を指定する
    • レコードを参照する
    • データを削除する

    画像データ

    • 画像データを生成する
    • 画像編集用データを生成する
    • 画像データを出力する
    • 画像にフィルタをかける

    グラフィックス

    • 描画領域を取得する
    • 直線を描画する
    • 図形を描画する

    動画

    • 動画ファイルを再生する
    • フルスクリーン再生/繰り返し再生する
    • 動画のサムネイル画像を取得する

    音声

    • 音声ファイルを再生する
    • 音量を調整/繰り返し再生する

    Chapter9 概要ネットワークの利用

    概要

    HTTP通信を利用する

    • リクエスト先を指定する
    • HTTPリクエストを生成する
    • HTTP同期通信を行う
    • HTTP非同期通信を行う
    • POST/GETメソッドを利用する
    • コンテンツをダウンロードする

    XMLの解析

    • XMLを読み込む
    • XMLを解析する

    Chapter10 概要情報の共有

    概要

    • iOSアプリでの情報共有

    メール,SMSの利用

    • メールを送信する
    • メール送信時の実行結果を取得する
    • SMSを送信する
    • SMS送信時の実行結果を取得する

    ソーシャルメディアとの連携

    • アクティビティを利用する
    • ソーシャルメディアに投稿する
    • ソーシャルメディアのアカウントを利用する
    • ソーシャルメディアのAPIを利用する

    COLUMN

  • Objective-CとC言語
  • アプリの初回起動の処理
  • Xcodeでの開発について
  • 画面遷移時のパラメータの受け渡し
  • テーブルで学ぶObjective-C
  • iPadでの画面設計
  • アプリのサイズ制限
  • テキストの表示2
  • UiWebViewの利用
  • タッチを無効にする他の方法
  • iOSシミュレーターでのジェスチャーの動作
  • 複雑なタップでのタップ位置の取得
  • HTML5でのセンサー利用
  • ジャイロセンサーの利用
  • Google Maps SDK for iOS
  • 近接センサーの利用例
  • ディレクトリの共有
  • UIを利用したクラス作成
  • Core Data利用時に対応しておくとよいこと
  • Core Imageで顔認識を行う
  • AVAudioPlayerの他の機能

著者プロフィール

WINGSプロジェクト 片渕彼富(かたふちかのとみ)

執筆コミュニティ「WINGSプロジェクト」所属のライター。旅行,EC,アイドル関係のコンテンツ会社勤務後,フリーへ。現在は株式会社メディカルアプリ取締役としてスマートフォン,アプリ関連事業に邁進中。主な著書に『HTML5 開発ポケットリファレンス』(技術評論社),『HTML5基礎』(毎日コミュニケーションズ)など。


山田祥寛(やまだよしひろ)

千葉県鎌ヶ谷市在住のフリーライター。Microsoft MVP for ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に『JavaScript本格入門』『Ruby on Rails 3 アプリケーションプログラミング』(以上,技術評論社),『10日でおぼえる入門教室シリーズ(jQuery・SQL Server・ASP.NET・JSP/サーブレット・PHP・XML)』『独習シリーズ(サーバサイドJava・PHP・ASP.NET)』(以上,翔泳社)など。最近の活動内容は公式サイト(http://www.wings.msn.to/)を参照されたい。