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)