Xcode 9で配布用証明書
とProvisioning Profile
のみでipaを作ろうとした時に無事死亡したので解決方法を残します。
Xcode 8でのAutomatically manage signingに負けないfastlaneでのiOSアプリ配布を元に作成していますので、細かな部分はそちらを参考にしてください!
ipaを作りたい!というタイトルですが、DeployGate等でアプリ配布も可能です。
環境
- Xcode 9.0.1
- fastlane 2.62.1
Automatic Code Signingオフができない!
オンオフの切り替えしても変わってくれない(´・ω・`)
fastlane action disable_automatic_code_signing(path: "Project.xcodeproj") not working
解決方法
fastlaneで切り替えをしない!
Xcode 9からCode Signing Style
を設定できるようになっていました。(全然知らなかった。。)
Manualにしておけばfastlaneで変えなくて良くなります!
エラーとの遭遇
app作成は成功し、その後のxcrun
でエラーが出ます。
エラーの関係箇所ログ抜粋
Generated plist file with the following values:
▸ -----------------------------------------
▸ {
▸ "provisioningProfiles": {
▸ "": "hoge adhoc"
▸ },
▸ "method": "ad-hoc"
▸ }
▸ -----------------------------------------
Error Domain=IDEProvisioningErrorDomain Code=9 ""プロジェクト名.app" requires a provisioning profile with the Push Notifications feature." UserInfo={NSLocalizedDescription="プロジェクト名.app" requires a provisioning profile with the Push Notifications feature., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}
エラーの解決方法
provisioningProfiles
がうまく設定されていないようなので、gym
でexport_options
オプションを指定します。参考
gym(
export_options: {
provisioningProfiles: {
"com.example.hoge" => "hoge adhoc"
}
}
)
他のオプションも記載されていますが、私の環境では最低限上記が設定されていればipaができました。
com.example.hoge
やhoge adhoc
は適宜読み替えてください!
まとめ
Xcode 9対応の変更は下記の2点のみでした。
-
Code Signing Style
の設定 -
gym
にexport_options
のオプション指定
Xcode 9からCode Signing Style
ができてFastfileも若干スッキリします。
export_optionsのほうはそのうちfastlane側で対応されそうな気がしますね!