Closed1

ローカルではAutomatically Manage Siginingにして、CIではManual Signingしたい

菊池紘菊池紘

リポジトリには Automatically manage sigining をONにしたproject.pbxprojをコミットしておけば、ローカルで開発する際は自動で署名してくれる。

CIでAdHocやAppStore用のビルドをする際にFastlaneの update_code_signing_settingsuse_automatic_signing: falseprofile_name: (Provisioning Profileの名前)を設定すれば、マニュアルで署名ができる。はず。

が、これだけだとproject.pbxprojの CODE_SIGN_IDENTITY (Build Settings > Signing > Code Signing Identity)が期待しない値になるケースがあるっぽい。
(ビルドのときに存在しない証明書を探しに行ってコケる)

手元のプロジェクトだと、

  • Automatically manage sigining -> ONのとき
    • CODE_SIGN_IDENTITY -> Apple Distribution
  • Automatically manage sigining -> OFFのとき
    • CODE_SIGN_IDENTITY -> iOS Distribution

と自動的に切り替わっていた。

結局 update_code_signing_settings では

update_code_signing_settings(
    use_automatic_signing: false,
    profile_name: (Provisioning Profileの名前),
    code_sign_identity: "iPhone Distribution",
)

とする必要があった。

このスクラップは2022/07/22にクローズされました