メインコンテンツまでスキップ

iOS code signingのトラブルシューティング

iOS code signingは複雑になることがあり、さまざまな問題が発生する可能性があります。ここでは、よくある問題とその解決策をまとめました。code signingが正しく動作するようにするために何ができるか見ていきましょう。

Code signingとクリーンな仮想マシンClick to copy link​

Bitriseのビルドはすべて、以前のビルドのファイルや設定が残っていないクリーンな仮想マシンを使用します。ローカルマシンには必要なcode signingファイル(証明書とプロビジョニングプロファイル)がすべて揃っている場合がほとんどですが、弊社の仮想マシンではそうではありません。仮想マシンにはプロジェクトに関連するcode signingファイルが一切含まれていないため、次の点を必ず確認してください。

  • プロビジョニングプロファイルをBitriseにアップロードするために、適切なcode signingアセット管理オプションを選択します。ここからStepsが実行時に仮想マシンへファイルをダウンロードします。

  • 必要なsigning certificateをCode Signingタブにアップロードします。

  • You have、BitriseアカウントをApple Developer portalに接続します(Certificate and Profile Installer Stepを使用する場合、この手順は不要です)。Apple Developer portalに対して行います。

    エラーがcode signingに関連していると思われる場合、ほぼ間違いなくこれら3つのいずれかに問題があります。BitriseでiOSアプリのビルドを試みる際は、まずお使いのマシン上でローカルにアプリの.ipaファイルを生成することを強くおすすめします。それが失敗する場合、Bitriseでのビルドも確実に失敗します。

    詳細ログ

    問題が発生した場合は、code signingアセット管理またはStepのビルド時にVerbose logの入力を有効にして、問題の詳細情報を取得してください。

iOS code signing Stepsが失敗するClick to copy link​

弊社のiOS code signing Stepsはプロビジョニングプロファイルを代わりに管理します。Apple Developer portalからプロファイルをダウンロードしてインストールします。これらのStepsが失敗した場合の対処法は次のとおりです。

  • このStepを使用する前に、Bitriseで使用したいエクスポート方法と同じ方法でローカルに.ipaファイルを生成し、プロファイルがApple Developer portalにアップロードされていることを確認してください。
  • BitriseアカウントがApple Developer portalに接続されていること、またApple Developerチームで少なくともAdminロールを持っていることを確認してください。

プロビジョニングプロファイルのファイル数制限Click to copy link​

BitriseのCode Signingタブにアップロードできるプロビジョニングプロファイルと.p12証明書の最大数は100個です。すでにこの上限に達していて、さらに多くのプロビジョニングプロファイルを使用したい場合は、次のヒントを参考にしてください。

  • Xcode Archive & Export for iOS、Export iOS and tvOS Xcode Archive、Xcode build for testing for iOS、Manage iOS Code Signingなど、自動プロビジョニングを使用するStepを利用します。これらのStepsでは、.p12拡張子の証明書であるcode signingアイデンティティをBitriseにアップロードするだけで済みます。Apple DeveloperアカウントをBitriseに接続している場合は、ビルド中にApple Developer portalからプロビジョニングプロファイルをその場でダウンロードできます。
  • 必要な証明書とプロファイルを含む.zipファイルを作成することもできます。この場合、Bitriseに証明書やプロファイルをアップロードする必要はありません。ビルド中に.zipファイルをダウンロードし、Certificate and Profile Installer Stepの証明書/プロファイル関連の入力を、build machine上の証明書/プロファイルのパスに合わせて更新できます。Certificate and Profile Installer Stepは、証明書とプロファイルにローカルパスとURLの両方をサポートしていることに注意してください。
  • プロファイルと証明書を自分でホストし、特定の証明書/プロファイルを指すURLのみをWorkflowに追加することもできます。

また、証明書とプロファイルの両方の入力に複数のURLを指定できることにも注意してください。その場合は、パイプ(|)文字で区切ってください。

デバイスにアプリをインストールできないClick to copy link​

特定のデバイスにiOSアプリをインストールするには、次のいずれかを行う必要があります。

  • エクスポートに使用するプロビジョニングプロファイルにデバイスのUDIDを登録した状態で、developmentエクスポート方法を使ってIPAファイルをエクスポートする。
  • ad-hocエクスポート方法を使ってIPAファイルをエクスポートし、Deploy to Bitrise.io Stepが生成する公開インストールページからアプリをインストールする。

特定のデバイスにアプリをインストールできない場合は、次の手順で確認してください。

  1. デバイスのUDIDがアプリのプロビジョニングプロファイルに含まれていることを確認します。

    手動プロビジョニングを使用している場合は、Bitriseにアップロードしたプロビジョニングプロファイルを確認します。

  2. Xcode Archive & Export for iOS Stepが、デバイスのUDIDが含まれるプロビジョニングプロファイルを使用したかどうか、ログを確認します。