🍭

ゲームアプリでないのにGame Center云々で怒られて、iOSのアプリ審査に出せない問題

2023/09/29に公開

単一issueの対応記事です。

発生した事象

  • iOSのアプリをAppleの審査に出そうとしたら、以下のメッセージがでて審査に出せない

Game Centerエンタイトルメントを含むビルドを送信するには、Game Centerチェックボックスを選択する必要があります。

  • App Store Connectのアプリの概要で、Game Centerへのチェックを促す警告が表示される

ビルドにGame Centerエンタイトルメントが含まれています。このアプリバージョンでGame Centerを有効にするには、Game Centerチェックボックスを選択して、このバージョンで提出されるLeaderboard、Leaderboardセット、および達成項目を選択してください。

  • これが最も重要なことですが、アプリではGame Centerを一切使っていない

解決策

Xcodeのバージョンを15以降にアップデートする
https://developer.apple.com/jp/support/xcode/

もう少し細かい説明

正直なところ細かいところまでは理解していませんが、調べた範囲の情報を載せておきます。

その前に、そもそもアプリ内でGame Centerを使っている人は、

いらないなら消しましょう。
必要なら大人しく林檎に従いましょう。

ググって調べた情報

Forumによると、アプリで使ってなくてもローカルのProvisioning ProfilesにGame Centerの情報が含まれているとXCodeが勝手にアプリにも含めてしまう。という事象があるみたいです。
https://developer.apple.com/forums/thread/657552

Xcode14でGame Centerに関する挙動に変更が入っています。
https://developer.apple.com/jp/help/account/reference/capability-entitlement-updates/

8/14にApp Store ConnectのGame Center機能に関する仕様が変更になっています。
https://developer.apple.com/jp/news/upcoming-requirements/?id=06262023a

Xcode15で、Game Centerの情報を勝手にアプリに埋め込む処理の修正がされています。
https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes

つまり、、、

  • もともとXcodeがGame Centerの情報を勝手にアプリに埋め込んでしまうことがあった。
  • 8月のApp Storeの仕様変更で自動で審査から弾かれるようになってしまった。
  • Xcode15で勝手に埋め込む挙動が改善されたので、15でビルドすればこの問題は発生しない。

ということかと思います。

開発環境は最新のものを使いましょう。

NCDCエンジニアブログ

Discussion