.ipa ファイルを自動生成する
.ipa ファイルを作るにはいくつか方法があります。
- Xcode で作成
- xcrun コマンド
- shenzhen コマンド
- TestFlight を利用
など。Xocde6 beta5 で ipa ファイルを作成しようとしたところ、Archive は問題なく通るのですが、その後 Export しようとすると「権限ないよ」と言われ作ることができませんでした。Xcode の不具合か弊社の環境周りに問題があるのか原因は調査中。。。ただ ipa ファイルの作成は他にも方法はあるので、とりあえず別の方法で作成しました。ここでは xcrun コマンドによる方法を紹介します。
xcrun コマンドによる .ipa ファイル作成
対象のプロジェクトのディレクトリ配下で、以下のスクリプトを実行することで ipa ファイルが作成されます。
#!/bin/sh # -----ビルド〜ipaファイル作成----- #SDK SDK="iphoneos8.0" # Debug or Release CONFIGURATION="Debug" # Xcodeのプロジェクト名 PROJ_FILE_PATH="Sample.xcodeproj" # ターゲット名 TARGET_NAME="Sample" # プロダクト名 PRODUCT_NAME="SampleApp" # app出力先 APP_DIR="app" # 出力先ipa IPA_DIR="build" # プロビジョニングプロファイル PROVISIONING_PATH="~/Library/MobileDevice/Provisioning\ Profiles/{プロファイル名}.mobileprovision" # 出力先ディレクトリ作成 rm -rf "${APP_DIR}" rm -rf "${IPA_DIR}" mkdir "${APP_DIR}" mkdir "${IPA_DIR}" # クリーン xcodebuild clean -project "${PROJ_FILE_PATH}" # ビルド xcodebuild -project "${PROJ_FILE_PATH}" -sdk "${SDK}" -configuration "${CONFIGURATION}" -target "${TARGET_NAME}" install DSTROOT="${APP_DIR}" # ipaファイル作成 xcrun -sdk "${SDK}" PackageApplication "${PWD}/${APP_DIR}/Applications/${PRODUCT_NAME}.app" -o "${PWD}/${IPA_DIR}/${PRODUCT_NAME}.ipa" -embed "${PROVISIONING_PATH}"
上記のスクリプトでは build ディレクトリが作成され、そこに SampleApp.ipa が書き出されています。SDK はビルド対象のバージョンを指定してください。ここでは BaseSDK 8.0 でビルドしたかったため 8.0 を指定しています。
※ 追記
shenzhen コマンドでの作成は以下にまとめています。