App Store Connectアップロード時の契約エラーの解決方法
問題の説明
TransporterでiOSアプリをApp Store Connectにアップロードする際、以下のエラーが発生することがあります:
json
{
"id": "*****************************",
"status": "403",
"code": "FORBIDDEN_ERROR.CONTRACT_NOT_VALID",
"title": "You do not have required contracts to perform an operation",
"detail": "You do not have required contracts to perform an operation."
}
このエラーは次の特徴があります:
- 配布証明書が有効でも発生する
- アーカイブ(IPA生成)時にはエラーが出ない
- Appleが利用規約を更新した直後に頻発
!> エラーの本質403 FORBIDDEN_ERROR.CONTRACT_NOT_VALID
は開発者契約の同意不足が原因であり、証明書の期限切れやビルド設定の問題ではありません。
解決手順
管理者アカウントでの対応
- Apple Developerポータルに**アカウント管理者(Admin権限保持者)**でログイン
- ダッシュボード上部に表示される「更新された契約条項があります」という通知を探す
- 「Review Agreement」ボタンをクリック
- 新しい契約内容を確認し、同意する
- 処理完了後、15分以上待機してからアップロード再試行
サブ開発者の場合
!> 権限不足時の対応
- 自身にAdmin権限がない場合、アカウント管理者に連絡
- 管理者に上記手順を依頼し、契約更新をリクエスト
- 更新完了通知を受けてからアップロード実行
根本原因と補足事項
- 発生メカニズム:AppleがAPI利用規約や課金ポリシーを更新すると、全開発者の再同意が必要
- 影響範囲:TestFlight配信・App Store審査提出にも同様のエラーが発生
- 反映時間:契約更新後、Appleシステムへの反映には最大30分要する場合あり
- 誤解しやすいポイント:証明書の有効期限とは無関係(質問文の通り配布証明書は無関係)
再発防止策
- Apple Developer News and Updatesの定期チェック
- 契約更新通知メールが受信できるようメール設定を確認
- 複数メンバーが操作する場合、Admin権限者に通知リレーする仕組み構築
最終確認ポイント:エラー解消後もアップロードが失敗する場合は、Appleシステムステータスページでサービス停止を確認してください。