Help us understand the problem. What is going on with this article?

Xcode 9 + fastlaneでもManualでipaを作る

More than 1 year has passed since last update.

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で変えなくて良くなります!

Build SettingManualに設定します。
スクリーンショット 2017-10-30 11.41.01.png

エラーとの遭遇

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がうまく設定されていないようなので、gymexport_optionsオプションを指定します。参考

gym(
  export_options: {
    provisioningProfiles: {
      "com.example.hoge" => "hoge adhoc"
    }
  }
)

他のオプションも記載されていますが、私の環境では最低限上記が設定されていればipaができました。
com.example.hogehoge adhocは適宜読み替えてください!

まとめ

Xcode 9対応の変更は下記の2点のみでした。

  • Code Signing Styleの設定
  • gymexport_optionsのオプション指定

Xcode 9からCode Signing StyleができてFastfileも若干スッキリします。
export_optionsのほうはそのうちfastlane側で対応されそうな気がしますね!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした