tvOSアプリのGameCenter対応
GameCenter対応
- iOS版とtvOS版のLeaderboardを共通のものとして使いたい
Xcode側
- iOS用のコードをそのまま利用しようとしたら以下の様なエラーが出た
- エラー:
viewState is unavailable
- エラー:
leaderboardIdentifier is unavailable
- tvOSではこれらは使われないようなので
viewState
とleaderboardIdentifier
の設定は削除 - tvOSでは
leaderboardIdentifier
はAssets.xcassets
から行う
手順
Assets.xcassets
にてGame Center > New Apple TV Leaderboard
からアセットを追加- 追加した
Leaderboard
に画像を登録 Leaderboard
のAttributes inspector
にてIdentifier
を登録- tvOS側のBundle IDをiOSと同じものにする (同じじゃない場合)
参考
iTunes Connect側
- Game Center プログラミングガイドには以下のようにある
ゲームグループ
「ゲームグループ」もiTunes Connectの機能で、Game Centerに対応した複数のゲームを1つのグルー プにまとめ、Game Centerのコンテンツの一部を共有できます。グループに属する各ゲームは、iTunes Connect上にそれぞれレコードを持つ独立したゲームですが、アセットの一部を共有します。
App Storeで公開する、次のようないくつかの版を、すべて同じゲームとして扱える、という利点があります。 iOS版とOS X版(別々に用意する場合)。 無料版と有料版。
- Game Centerグループに関して別資料: iTunes Connect向けCame Center構成ガイド > グループ
iTunes Connect > App Store > tvOS APP
から既存(iOS用)のLeaderboardを追加すると以下の様なエラーが出る (エラーはiOS APP側にも出る)Leaderboardは1つ以上のLeaderboardセットに属している必要があります。
- 上記作業をしている最中にiOS版の審査が通る
- 上記エラーが出なくなった
- 別の問題でGame Centerグループを作成しようとするもエラーが出る
- グループ化の必要の有無、グループ作成方法がわからないが、グループ化していないLeaderboard IDにてスコアのアップロードを確認できた (Sandbox)