トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

iOSアプリを実機に載せる

Macと実機をUSBで接続してインストールする

http://tande.jp/lab/2012/01/1621

 iOS Developer Program に登録

お金払って登録。

 Xcodeのインストール

AppStoreからXcodeをダウンロードして、インストール。

 開発証明書の取得と登録

主な流れ


「証明書署名要求ファイル(CSRファイル)」の生成

  • 開発に使うMacで、アプリ「キーチェーンアクセス」を起動
  • キーチェーンアクセスのメニューから「証明書アシスタント>認証局に証明書を要求...」を選択
  • 保存ダイアログが表示されるので、デフォルトの名前のままCSRファイル(CertificateSigningRequest.certSigningRequest)を保存
  • [鍵ペア情報]が表示されるので、[鍵のサイズ]は[2048ビット]、[アルゴリズム]は[RSA]を選択して、[続ける]ボタンをクリック
  • CSRファイル(CertificateSigningRequest.certSigningRequest)がローカルに保存される

ローカルに保存したCSRファイルをアップロード

  • iOS Devloper Program にアクセス
  • 「Member Center」 -> 「iOS Provisioning Portal」を選択
  • 「Certificates」を選択し、「Request Certificate」ボタンをクリック
  • 「参照」ボタンで開いたダイアログで、先程のCSRファイルを選択し、アップロードする

証明書ファイルをダウンロード

  • 「Certificates」ページの「Action」列のところに「Download」ボタンが表示される
  • 「Download」ボタンをクリックして、証明書ファイル(developer_identifier.cer)をローカルにダウンロード

証明書をMacにインストール

  • ダウンロードした証明書ファイルをダブルクリックすると、キーチェーンアクセスが起動して証明書がインストールされる

 自分のiPhone,iPadを開発デバイスとして登録

端末のUDIDを確認

  • iTunesを起動します。
  • iPhone/iPod touchを接続します。
  • デバイスからiPodを選択します。
  • シリアル番号が表示されます。「シリアル番号」の文字列をクリックします。
  • 表示が識別子に変わり、40桁の文字列が表示されます。これがUDIDとなる

 App ID の取得

  • iOS Devloper Program にアクセスし、App ID を作成
  • テストアプリの制作にはワイルドカードの「*」を使った App ID を利用すると
hoge.test.*

など。
※一度作った App ID は消す事ができない

 Provisioning Profile の作成

  • iOS Devloper Program にアクセスし「Member Center」の「iOS Provisioning Portal」を開く
  • 「Provisioning」を選択し、「Add Profile」ボタンをクリックして Provisioning Profile を登録する
Profile Name 任意の名前を入力します。
Certificates チェックを入れます。
App ID 上記で作成したものを選択します。
Device 利用するデバイスにチェックを入れます。

 Provisioning Profile をXcodeに登録

  • 作成したProvisioning Profileをダウンロード
  • Xcodeの「Window」から「Organizer」を選択
  • 「Organizer」ウィンドウを立ち上げ、「Deveices」タブを選択
  • 左サイドバーの「Provisioning Profiles」を選択し、「Automatic Device Provisioning」がチェックされていることを確認
  • Provisioning Profile が自動的にダウンロードされて登録されているはず
  • 何も登録されていない場合は、「Reflesh」ボタンを押す

 iPhone 実機へサンプルアプリをインストール

  • Simurator の種類を選ぶプルダウンリストに、USB接続されたデバイス名がある
  • ない場合は、対象のOSのバージョンを変えたりしてみる

Webサーバからアプリをインストールする

http://kaigian.co.jp/taka/2013/ota.html
http://plus.vc/iphone/3355/
OTA(Over The Air) または in house と呼ばれる方法で実機にアプリをインストールする。

 Provisioning Profiles の作成

iOS Provisioning Portal で Provisioning Profiles を作成する。
このとき、Distribution Method を 「in House」にしておく。

 ビルド設定

Xcode のビルド設定を変更する。
Code SigningをProvisioning Portalで作ったDistributionに設定。

 ビルド

GUIでビルドする

Xcode の 「Product」 -> 「Archive」でアプリをアーカイブする。
この時、実行先をシミュレータではなく iOS Device を選択していないと、Archiveを選択できない。

ビルド実行後、Organizerが起動する。
Distributeを選択しアプリのファイルを作る。
このとき「Save for Enterprise Distribution」を選択すると plistファイルを生成できる。
URLは、「http://localhost/test/hoge.ipa」のようなアプリのURLを指定する。

コマンドラインでビルドする

http://d.hatena.ne.jp/ryo_abe/20120226/1330242142
http://atkonn.blogspot.jp/2012_06_03_archive.html
コマンドでビルドするには、以下のようなシェルを作っておくと良い。

SDKの一覧を取得する(プロジェクトのルートディレクトリで実行)

 xcodebuild -showsdks

ターゲットの一覧を取得する(プロジェクトのルートディレクトリで実行)

xcodebuild -list

User interaction is not allowed って出る場合

security unlock-keychain /Users/funa/Library/Keychains/login.keychain

でキーチェーンのロックを解除しておく必要がある。

 #!/bin/sh
 
 #SDK
 SDK="iphoneos5.0"
 
 # コンフィグレーション(「Debug」、「Release」、「Ad hoc」)
 CONFIGURATION="Release"
 
 # Xcodeのプロジェクト名
 PROJ_FILE_PATH="hoge.xcodeproj"
 
 # ターゲット名
 TARGET_NAME="hogeTarget"
 
 #「Build Settings」にある、プロダクト名
 PRODUCT_NAME="hogeProduct"
 
 # app出力先ディレクトリ名
 OUT_APP_DIR="out_app"
 
 # 出力先ipaディレクトリ名
 OUT_IPA_DIR="out_ipa"
 
 # 出力されるipaファイル名 
 IPA_FILE_NAME="hogeIpa"
 
 # ライセンス取得時の開発者名
 DEVELOPPER_NAME="iPhone Distribution: hoge Developper"
 
 # アプリのプロビジョニングファイルのパス
 PROVISIONING_PATH="${HOME}/Library/MobileDevice/Provisioning\ Profiles/hoge.mobileprovision"
 
 
 
 # 出力先ipaディレクトリ作成
 # -------------------------
 if [ ! -d ${OUT_IPA_DIR} ]; then
     mkdir "${OUT_IPA_DIR}"
 fi
 
 # クリーン
 # -------------------------
 xcodebuild clean -project "${PROJ_FILE_PATH}"
 
 # ビルド
 # -------------------------
 xcodebuild -project "${PROJ_FILE_PATH}" -sdk "${SDK}" -configuration "${CONFIGURATION}" -target "${TARGET_NAME}" install DSTROOT="${OUT_APP_DIR}"
 
 # Create ipa File
 # -------------------------
 xcrun -sdk "${SDK}" PackageApplication "${PWD}/${OUT_APP_DIR}/Applications/${PRODUCT_NAME}.app" -o "${PWD}/${OUT_IPA_DIR}/${IPA_FILE_NAME}.ipa" -embed "${PROVISIONING_PATH}"
   

 plist

自動生成していない場合は以下の様なXMLをplistファイルとして作成する

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
   <key>items</key>
   <array>
       <dict>
           <key>assets</key>
           <array>
               <dict>
                   <key>kind</key>
                   <string>software-package</string>
                   <key>url</key>
                   <string>https://dl.dropboxusercontent.com/u/1234567/MyApp.ipa</string>
               </dict>
           </array>
           <key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>com.exsample.MyApp</string>
               <key>bundle-version</key>
               <string>1.0</string>
               <key>kind</key>
               <string>software</string>
               <key>title</key>
               <string>Exsample</string>
           </dict>
       </dict>
   </array>
 </dict>
 </plist>


 Webサーバに設置する

配布用htmlの作成

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta name="viewport" content="width=device-width" />
    <title>ダウンロードページ</title>
  </head>
  <body >
    <h1>ダウンロードページ</h1 >
    <a href="itms-services://?action=download-manifest&url=http://xxx.xxx.xxx.xxx/hoge/MyApp.plist" > インストール</a >
  </body >
</html >

ファイルの設置

  • index.html
  • アプリファイル(MyApp.ipa)
  • plistファイル(MyApp.plist)

をWebサーバに設置する。

 インストール

実機でindex.htmlにアクセスすればインストールされるはず。


[カテゴリ: OS > Mac]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2014年05月27日 21時30分26秒