GKScore と GKLeaderboard のドキュメントを調べたところ、GameCenter の特定のリーダーボードにプレイヤーによって報告されたスコアをリセットする方法はありません。私は正しいですか?
実績をリセットできるため、これはかなり矛盾しているようです。
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
何かご意見は?
GKScore と GKLeaderboard のドキュメントを調べたところ、GameCenter の特定のリーダーボードにプレイヤーによって報告されたスコアをリセットする方法はありません。私は正しいですか?
実績をリセットできるため、これはかなり矛盾しているようです。
[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }];
何かご意見は?
あなたは正しいです。Game Center リーダーボード カテゴリをリセットする方法や、ライブ アプリで起動されたカテゴリを削除する方法はありません。
Apple は実績をリセットする方法を許可しました。
私が知っている唯一の回避策は、古いカテゴリを終了させ、それらを一番下に戻し、カテゴリに関連付けられたラベルを「ハイスコア(アーカイブ済み)」のようなものに変更してから、新しいカテゴリを作成してラベルを付けることです「ハイスコア」で上に並べ替えます。これにより、新鮮なものが得られます。しかし、もちろん、リーダーボードのカテゴリは 25 に制限されているため、古いものを再利用する方法を考え出さない限り、ある時点で沈んでしまいます。(たとえば、すべてのスコアを 10 倍にして、全員が以前のスコアをすぐに上回るようにします)
編集...最近のバージョンでは、最近のアプリの更新でリーダーボードのカテゴリを実際に再利用しました。このカテゴリの本来の用途は、1000 点台前半のかなり低いスコアでした。このカテゴリの新しい用途は、その 10 倍から 1000 倍になる予定でした。そのため、そのカテゴリの古いスコアは、ゲームの最初の数回のプレイで消去されることを知っていました. もちろん、カテゴリ ID (com.company.app.category) は変更できませんが、説明 (英語またはその他) は変更できます。まったく別のもののスコアを保存するときに、あるものの ID を持つカテゴリを使用しているため、混乱する可能性があります。しかし、#define kBlahBlahBlah to @"com.company.app.blah" を使用すると、コードで名前を使用できるため、物事を簡単に整理できます。それが役立つことを願っています。