What is this
この前Bitriseを個人アプリに組み込もうとしたらいろいろハマったので、そのことについてまとめ
環境
- Xcode 9.2
- iOS Auto Provision 1.0.1
Bitrise Auto Provisionでハマった
巷で話題のBitrise.会社のプロジェクトで導入済みなので、自分の個人プロジェクトでも試そうとしました。
最近Auto ProvisionというWorkがメジャーバージョン1が出たらしく、Provisioning ファイルの設定を自動化してくれる、ということで、それならやるしかない、とやってみたのですが、結構ハマってしまいました。。。
今使用しているWorkFlowは次のようになります
ここのiOS Auto Provisionで結構ハマりました。。。
1. [Bundle Name]のプロファイルが見つかりません。
Error message
Code Signing Error: No profiles for '[Bundle Name]' were found: Xcode couldn't find any iOS App Development provisioning profiles matching '[Bundle Name]'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.2'
projectのディレクトリで次のコマンドを打ってください
$ xcodebuild -workspace [プロジェクトファイル] -scheme [ビルドしたいスキーム名]
これで、該当のスキームしたビルドファイルが出来上がります。
確認には、使用しているプロジェクトファイル右クリックで「このファイルの内容を表示」でxcshareddata,xcuserdataというフォルダができてるはずです。
普通はそのスキームでビルドすると出来るはずなんですが、Cocoapodを使ってると、うまく生成されないみたいなのをどこかで読みました。
2. 該当のスキームが見つかりません
Error message
Error:
project (chineseApp.xcworkspace) does not contain scheme: chineseApp
Stacktrace (for debugging):
/private/var/folders/90/5stft2v13fb_m_gv3c8x9nwc0000gn/T/bitrise364870581/step_src/lib/autoprovision/project_helper.rb:238:in `read_scheme_and_container_project'
こちらのコマンドで表示に従っていくと、Provisioiningファイルと.p12ファイルが生成されます。
$ bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode.sh)"
次に、BitriseのWorkFlow->Code Signingタブで生成したProvisioningファイル、p.12ファイル を追加しましょう
(2018.7追記: @mono0926から指摘いただき、Provisioningファイルは必要ないとのことです!もしかしたら、これでハマってたかも・・・ )
これでBitriseのビルドが成功するはずです。
まとめ
Auto Provisioningを歌ってますが、まだまだ自動化ではない部分もあるので、そこらへんは今後の改善に期待しましょう。
ただ、今回ハマったときに、チャットで何回かCSに聞いたのですが、ちゃんと返答してくれ、原因とかも解説してくれるので、かなり手厚い感じでした。ここらへんは、吸収していくべき点です。