始めに
今回の記事では、JenkinsでUnityビルド→Xcodeビルドをした際に
「No signing certificate "iOS Development" found」がでてarchiveができなくなった際にしたことを書き留めていきます。
本来distributionでビルドするはずだったのになぜかDevelopmentになっている!
そんな困ったことが起こった時に対応できると思います。
宜しくお願い致します。
開発環境
Unity 2018.4
Xcode 10
Jenkins
pipeline
なぜ起きたのか
こちらに関しては調査をしていたのですが、原因究明までは至りませんでした。
ただ、XcodeのBuild settingがDevelopmentになっていたのでここの設定項目(何も設定していないせい)で発生していたのではないかと思います。
さらに言えば、今回発生した原因の一つとしてビルドをする際の状況が特殊だったことも起因しているのではないかと思います。
(開発におけるアレコレ)
対策
まず下記の記事のようにXcode自体の設定をいじればarchive自体は通ります。
https://dev.classmethod.jp/smartphone/iphone/xcode-no-signing-certificate-ios-development-found-error/
しかし、この設定を毎回手動でやるのはJenkinsを使っている意味がなくなるのでJenkinsの方をいじってなんとかします。
下記のバッチビルドがあります。
xcodebuild -sdk iphoneos \
-project hogehoge.xcodeproj -target Unity-iphone \
-configuration Release build
この設定に対して
CODE_SIGN_IDENTITY=\"iPhone Distribution: hogehoge\" \
これを加えます!
iphone Distribution以下は環境により変わります。(つかない場合もあり。)
付加することで向き先がDistributionになり、正常にビルドが通るようになります。
最後に
いかがでしたでしょうか?
ほかの案件の兼ね合いでXcodeを色々触っていてビルドが全部動かなくなった!とかなった人の手助けの一助になれば幸いです。
私は、ビルド周りで本当に悩まされてきました・・・
というかビルド周りは本当に難しい・・・
有難う御座いました。