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 |
<!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]
Tweet
最終更新時間:2014年05月27日 21時30分26秒