2013年6月16日日曜日

実機(開発環境)での動作

iPhone, iPad, Androidの実機でプログラムを動かす流れを整理します。

1. iPhone/iPadでの動作

1.1 証明書の発行と実機の準備

  1. アプリケーション>ユーティリティ>キーチェーンアクセス
  2. 左上から環境設定 > 証明書 : OCSP, CRLがどちらも切の確認
  3. 左上から証明書アシスタント>認証局に証明書を要求
    メールアドレス、要求の処理をファイルに保存/鍵ペア情報を指定にチェック
    デスクトップに保存、2048bit,RSAのままで続ける → 完了
    証明書要求ファイルがデスクトップなどに生成(CertificateSigningRequest.certSigningRequest)
  4. iOS Dev Centerの右上 Certificates, Identifiers and Profilesにアクセス
    Certificates > development > + > iOS App Developmentにチェック
    ファイル選択画面で先ほどデスクトップに保存したキーをアップロード
    証明書(ios_development.cer)をダウンロード
  5. 証明書ファイルを開くとキーチェーンアクセスに登録される
  6. 実機をMacに接続
  7. Xcodeの Window > Organizer
    接続したデバイスで「Use for development」をクリック
    キーの使用許可、Apple IDのログインの指示 → Deviceの右の色が黄色から緑になる

1.2 アプリケーションを登録

  1. 前記Certificates, Identifiers and ProfilesのIdentifiers > Apple ID > +
    description(英語での説明文)、BundleID(jp.ne.akbob.Sample2)
  2. 同ページの Provisioning > development >  +
    iOS App Development → 先ほど作った Bundle ID = App IDを選択
    → 証明書を先程のを選択
    → デバイスも先ほど開発用にした実機を選択
    → プロファイル名(表示用途のみ)を指定 (例: Sample2)
  3. プロビジョニングファイル(Sample2.mobileprovision)をダウンロード
  4. 開くとOrganizerに登録される
  5. 一番上のプロジェクトを選択した時に表示される設定画面でBundler Identifierを先ほどのApp IDに登録
    (ドメイン名しか書かれていないのでアプリ名も含めておく)

1.3 実機での起動

  1. 実機でパスコードロックがかかっていたら解除しておく
  2. 画面上のSchemaに対象の実機を選択して Runを実行する
  3. キーチェーンの許可が要求されるので 常に許可


2. Androidでの動作

2.1 実機の設定

  1. 設定 > セキュリティ > 提供元不明のアプリにチェック
  2. 設定 > 端末情報 > ビルド番号を7回程度タップ → ディベロッパーモードになる
    (Android4.2より開発者向けオプションは非表示となった)
  3. 1つ戻って > 開発者向けオプション > USBデバッグにチェック 
[戻し方] 1,3はチェックを外す、 2は隠すことはできないらしいので開発者向けオプション画面の一番上のトグル設定を無効にする

2.2 プロジェクトの設定

  1. AndroidManifest.xml > Applicationタブ > debuggable = trueにする
  2. 実行するとAndroid Device Chooser が表示されるのでデバイスを選択すればOK
[エラーケース] 最後の画面でターゲットがunknown,stateがofflineとなってしまった。ぐぐるとUSBデバッグボタンを入れなおせばうまくいくとも書いているがうまく行かず。USBケーブルを抜き差ししたらうまくいった!