iOS
Bitrise

BitriseのAuto Provisioningハマったメモ

What is this

 この前Bitriseを個人アプリに組み込もうとしたらいろいろハマったので、そのことについてまとめ

環境

  • Xcode 9.2
  • iOS Auto Provision 1.0.1

Bitrise Auto Provisionでハマった

 巷で話題のBitrise.会社のプロジェクトで導入済みなので、自分の個人プロジェクトでも試そうとしました。
 最近Auto ProvisionというWorkがメジャーバージョン1が出たらしく、Provisioning ファイルの設定を自動化してくれる、ということで、それならやるしかない、とやってみたのですが、結構ハマってしまいました。。。
今使用しているWorkFlowは次のようになります

Kobito.zzFSjJ.png

Kobito.IRGmh9.png

ここの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ファイルは必要ないとのことです!もしかしたら、これでハマってたかも・・・ )

Kobito.3W2ALg.png

Kobito.aIqYci.png

これでBitriseのビルドが成功するはずです。

まとめ

 Auto Provisioningを歌ってますが、まだまだ自動化ではない部分もあるので、そこらへんは今後の改善に期待しましょう。
ただ、今回ハマったときに、チャットで何回かCSに聞いたのですが、ちゃんと返答してくれ、原因とかも解説してくれるので、かなり手厚い感じでした。ここらへんは、吸収していくべき点です。

参考ページ