🔍 背景
新しいアプリを量産するプロジェクトで、いつものようにアプリを作成していたところ、ある日突然 Bitrise のワークフローがエラーで停止するようになったと報告を受けた。
Bitrise はこれまでに何度かワークフローを構築した経験があったため、調査を担当。
❗️エラー内容
Failed to execute Step main logic:
failed to manage code signing: failed to ensure profiles:
failed to create profile:
failed to create app store provisioning profile for [ここにバンドルID] bundle ID:
POST https://api.appstoreconnect.apple.com/v1/profiles: 409 - ENTITY_ERROR.RELATIONSHIP.INVALID:
The provided entity includes a relationship with an invalid value:
The relationship 'devices' expects data as an array but an object was given. (exit code: 1)
内容を確認したところ、Xcode Archive & Export for iOS ステップのプロビジョニングプロファイルの自動生成処理において、devices フィールドの形式が不正というエラー。
AIに相談したところ、Apple の App Store Connect API に送信している JSON の形式(特に devices)が Apple 側の仕様に合っておらず、エラーになっている可能性があるとのこと。
この問題は、ちょうどWWDC 開催期間中であることも踏まえると、Apple 側で API の仕様が変更(あるいは厳密化)された可能性がある。
🛠 対応方法
AIの提案を参考に、ビルドワークフローの Xcode Archive & Export for iOS ステップの直前に、
Manage iOS Code Signing
というステップを追加してみた。
✅ 結果
追加後はビルドが正常に完了し、エラーは発生しなくなった。
🧩 考察と結論
-
Xcode Archive & Export for iOSステップにもプロビジョニングプロファイルの自動生成処理があるが、その内部処理が Appleの最新 API 仕様に非対応だった。 -
一方で、
Manage iOS Code Signingステップは Apple の最新仕様(App Store Connect API)に対応しており、正しい形式でプロファイルを作成できた。 -
突然ビルドが失敗するようになったのは、Apple側の API 仕様が(公式にはアナウンスされていないが)厳密化された可能性が高い。
💡今後の対策
-
Apple API に依存する処理は、なるべく Bitrise の
Manage iOS Code Signingのような 保守されている公式ステップに任せるのが安全。 -
古いステップや独自処理でコード署名を行っている場合は、今後も同様のリスクがあるため、定期的な見直しを推奨。