iOSコード署名のトラブルシューティング

Let’s look into what you can do to make sure code signing works!

Code signing and clean virtual machines

Every Bitrise build uses a clean virtual machine with no leftover files and configuration from previous builds. While you most likely have all the necessary code signing files (certificates and provisioning profiles) available on your local machine this is not the case with our virtual machines. They do no contain any code signing files relevant to your project, that is why you have to make sure:

  • You choose the right code signing asset management option to upload the provisioning profiles to Bitrise. From here the our Steps will download the files to the virtual machine at runtime.

  • You upload the necessary signing certificates to the Code Signing tab.

  • You have connected you Bitrise account to the Apple Developer portal. (This step is not needed if you use the Certificate and Profile Installer Step.) to Apple Developer portal.

    If you suspect an error is related to code signing, there is almost certainly a problem with one of these three. When trying to build an iOS app on Bitrise, we strongly recommend generating an .ipa file of the app locally, on your own machine first. If that fails, the build will certainly fail on Bitrise, too.

    Verbose logs

    If you are getting any issues, make sure you enable the Verbose log input in your code signing asset management or building Step to get more information on the nature of the issue.

App Store ConnectAPIステップを使用したiOS自動プロビジョニングが失敗する

NS App Store ConnectAPIを使用したiOS自動プロビジョニング ステップは、プロビジョニングプロファイルを管理します。AppleDeveloperポータルからプロファイルをダウンロードしてインストールします。このステップが失敗した場合にできることは次のとおりです。

  • このステップを使用する前に、.ipaファイルをローカルで生成し(Bitriseで使用するのと同じエクスポート方法で)、プロファイルがAppleDeveloperポータルにアップロードされていることを確認します。

  • BitriseアカウントがAppleDeveloperポータルに接続されていること、およびAppleDeveloperチームで少なくとも管理者の役割を持っていることを確認してください。

Xcodeのアーカイブとエクスポートの手順が失敗する

ステップが失敗した場合は、ログを確認してください。メッセージが表示された場合: Code signing error このガイドが解決策を見つけるのに役立つことを願っています!

ほとんどの場合、このエラーは、プロジェクトに正しい.p12証明書ファイルまたは正しいプロビジョニングプロファイルがないことを意味します。 エクスポート方法を選択してください ステップの入力が正しく設定されていません。

手動プロビジョニング

プロビジョニングプロファイルを手動でアップロードして、 証明書とプロファイルのインストーラー コード署名ファイルをインストールする手順を読んでください。

  1. .p12証明書とプロビジョニングプロファイルの両方がBitriseにアップロードされていることを確認してください。

    これを行うには、アプリのワークフローエディターに移動して、 コード署名 タブ。

  2. プロジェクトのプロビジョニングプロファイルと.p12証明書が一致していることを確認します。

    開発タイプのプロビジョニングプロファイルには、開発証明書が必要です。 App Store、アドホック、またはエンタープライズタイプのプロビジョニングプロファイルには、配布証明書が必要です。あなたはで互換性をチェックすることができます コード署名 タブ:クリック 一致する証明書、デバイス、機能を表示する 任意のプロビジョニングプロファイルの下。

  3. アップロードされたコード署名ファイルが正しいチームIDに属していることを確認してください。

    また、プロビジョニングプロファイルが正しいバンドルID用であることを確認してください。

  4. アップロードしたコード署名ファイルが有効であることを確認してください。

    これらのファイルは期限切れになるか、取り消される可能性があることを忘れないでください。

  5. 確認してください エクスポート方法を選択してください の入力 iOS用のXcodeアーカイブとエクスポート ワークフローエディタにステップインします。

    たとえば、次のように設定されている場合 ad-hoc また app-store、配布タイプの.p12証明書ファイルと、アドホックまたはAppStoreタイプのプロビジョニングプロファイルが必要です。

    iOS code signing - troubleshooting
  6. の機能リストにあるかどうかを確認します iOSアプリ とで 開発者ポータルにアップロードされたプロビジョニングプロファイル マッチ。

    iOS code signing - troubleshooting

Xcodeマネージド署名

Xcodeマネージド署名を使用する場合、ステップはXcodeマネージドプロビジョニングプロファイルのみを受け入れます。

詳細については、 Appleの技術的なQ&A

iOSコード署名ファイルの管理-自動プロビジョニング

Automatic code signing asset management and building functions available in one Step

The following Steps manage your code signing files AND build your project at the same time if the Automatic code signing method input is enabled in their Step inputs:

  • Xcode Archive and Export for iOS Step

  • Export for iOS and tvOS Xcode Archive Step

  • Xcode build for testing for iOS Step

We recommend using them instead of the iOS Auto Provision with App Store Connect API/Apple ID Steps. This means shorter Workflow and quicker builds.

If you are using Fastlane, a custom build code, or work on an Ionic/Cordova project, you can use the Manage iOS Code Signing Step.

Please note that the iOS Auto Provision with App Store Connect API/Apple ID Steps will be deprecated in the coming months. This will NOT break any existing builds using these two Steps, however, you will not be able to select them in the Workflow Editor’s Step Library. This article describes how to use the iOS Auto Provision with App Store Connect API Step if you decide to use it instead of the recommended Xcode Archive & Export for iOS, Export for iOS and tvOS Xcode Archive, and Xcode build for testing for iOS Steps.

For more information on the above Steps, go to our iOS code signing overview page to check out code signing management options.

ディストリビューションと開発署名証明書をアップロードします

プロジェクトの開発署名証明書と配布署名証明書の両方をアップロードすることを強くお勧めします。さまざまな種類の証明書がないと、さまざまな種類の署名付きIPAファイルを生成できません。

ワークフローで自動プロビジョニングを設定する前に、次のことを確認してください。

  • あなたは少なくとも持っています 管理者 開発者ポータルチームでの役割。

  • BitriseプロジェクトへのAppleDeveloperPortalの統合が有効になります。

iOSの自動プロビジョニングを設定するには、次のことを行う必要があります。

  1. で必要なファイルを収集したことを確認してください codesigndoc。このツールを使用して、配布証明書と開発証明書をアップロードすることもできます。

  2. あなたが持っていないことを確認してください 証明書とプロファイルのインストーラー ワークフローにステップインします。

    両方を用意する必要はなく、予期しない問題が発生する可能性があります。

  3. 選択したiOS自動プロビジョニングステップを追加します。

    • App Store ConnectAPIを使用したiOS自動プロビジョニング ステップ

    • AppleIDを使用したiOS自動プロビジョニング ステップ

App Store ConnectAPIを使用したiOS自動プロビジョニングの構成ステップ

  1. App StoreConnectにアクセスするためのAPIキー認証が設定されていることを確認してください。

  2. 追加します App Store ConnectAPIを使用したiOS自動プロビジョニング 依存関係インストーラーの後ワークフローのステップ(次のような) CocoaPodsインストールを実行します また カルタゴ

  3. Xcodeプロジェクトを変更しないでください。 App Store ConnectAPIを使用したiOS自動プロビジョニング そしてその iOS用のXcodeアーカイブとエクスポート ステップ。

    たとえば、バンドルIDを変更しないでください。 App Store ConnectAPIを使用したiOS自動プロビジョニング ステップ。

  4. ステップをクリックして、入力フィールドを編集します。あなたはそれを見ることができます APIトークンを作成するビルドURL、 そしてその Xcodeプロジェクト(またはワークスペース) パスは自動的に入力されます。

    • APIトークンを作成する:実行中のすべてのビルドには、Bitrise仮想マシン上に一時的なAPIトークンがあります。このトークンは、ビルドの実行中にのみ使用できます。ステップは、このAPIトークンを使用して接続されたAPIキーをダウンロードし、BitriseはそれをJSONファイルに保存します。

    • ビルドURL: JSONファイルが配置されているパス。

    • Xcodeプロジェクトパス: のパス .xcodeprojまたは .xcworkspace にあります。

  5. 確認してください 配布タイプ 入力の値は、の値と一致します 配布方法 に入力 iOS用のXcodeアーカイブとエクスポート ステップ。

  6. でスキームを選択します 図式 入力-処理するターゲットを制限できます。

AppleIDを使用したiOS自動プロビジョニングの構成ステップ

  1. 設定したことを確認してください アプリのAppleID認証

  2. 追加します AppleIDを使用したiOS自動プロビジョニング 依存関係インストーラーの後ワークフローのステップ(次のような) CocoaPodsインストールを実行します また カルタゴ

  3. Xcodeプロジェクトを変更しないでください。 AppleIDを使用したiOS自動プロビジョニング そしてその iOS用のXcodeアーカイブとエクスポート ステップ。

    たとえば、バンドルIDを変更しないでください。 AppleIDを使用したiOS自動プロビジョニング ステップ。

  4. チームIDを入力して 開発者ポータルチームID 入力。

  5. 確認してください 配布タイプ 入力の値は、の値と一致します 配布方法 に入力 iOS用のXcodeアーカイブとエクスポート ステップ。

  6. でスキームを選択します 図式 入力-処理するターゲットを制限できます。

  7. オプションで、を使用する場合は、もう1つの入力を設定できます。 署名を自動的に管理する Xcodeのオプション:の入力の場合 XcodeプロジェクトでXcode管理署名が有効になっている場合でも、ステップでプロビジョニングプロファイルを生成する必要がありますか? に設定されています true の場合、ステップはプロファイルの生成を試みます。 Xcodeで手動コード署名を使用する場合、この入力は効果がありません。

プロビジョニングプロファイルのファイル数制限

にアップロードできるプロビジョニングプロファイルと.p12証明書の最大数 コード署名 Bitriseのタブは30です。すでにこの制限に達していて、さらに多くを使用したい場合は、さらに多くのプロビジョニングプロファイルを使用する方法に関するいくつかのヒントを次に示します。

  • 使用 App Store ConnectAPIを使用したiOS自動プロビジョニング ステップ。これには、コード署名ID(拡張子が.p12の証明書)をBitriseにアップロードするだけで済みます。 [AppleDeveloperアカウントをBitriseに接続] / getting-started / connecting-to-services / configuring-bitrise-steps-that-を持っている場合は、ビルド中にAppleDeveloperポータルからオンザフライでプロビジョニングプロファイルをダウンロードできます。 require-apple-developer-account-data /「/ connecting-apple-dev-account /#enabling-apple-developer-portal-integration」)。

  • 必要な証明書/プロファイルを含む.zipファイルを作成できます。この場合、Bitriseに証明書/プロファイルをアップロードする必要はありません。ビルド中に、.zipファイルをダウンロードして、証明書/プロファイル関連の入力を更新できます。 証明書とプロファイルのインストーラー パスをビルドマシンの証明書/プロファイルに一致させる手順。注意してください 証明書とプロファイルのインストーラー ステップは、証明書とプロファイルのローカルパスとURLをサポートします。

  • プロファイルと証明書を自分でホストし、特定の証明書/プロファイルを指すURLのみをワークフローに追加できます。

また、証明書とプロファイルの両方の入力に複数のURLを指定できることにも注意してください。必ずパイプで分けてください(|) キャラクター。

デバイスにアプリをインストールできませんでした

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

  • を使用してIPAファイルをエクスポートします development エクスポートに使用されるプロビジョニングプロファイルにデバイスのUDIDが登録されているエクスポート方法。

  • を使用してIPAファイルをエクスポートします ad-hoc メソッドをエクスポートし、によって生成されたパブリックインストールページを介してアプリをインストールします Bitrise.ioにデプロイします ステップ。

特定のデバイスにアプリをインストールできない場合:

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

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

    • 自動プロビジョニングを使用する場合、 XcodeプロジェクトでXcode管理署名が有効になっている場合でも、ステップでプロビジョニングプロファイルを生成する必要がありますか? 入力はに設定されます no の中に AppleIDを使用したiOS自動プロビジョニング 手順:Apple DeveloperPortalでプロビジョニングプロファイルを確認します。

    • 自動プロビジョニングを使用する場合、および XcodeプロジェクトでXcode管理署名が有効になっている場合でも、ステップでプロビジョニングプロファイルを生成する必要がありますか? 入力はに設定されます yes の中に AppleIDを使用したiOS自動プロビジョニング 手順:デバイスがAppleDeveloperポータルの開発者チームに登録されていることを確認します。

  2. ログをチェックして、 iOS用のXcodeアーカイブとエクスポート ステップは、デバイスのUDIDを含むプロビジョニングプロファイルを使用しました。