4

これは不可能ですか?ID で指定した 2 人のプレイヤーが友達の場合は一致するが、そうでない場合はこのエラーで失敗するテスト コードをいくつか試しました。

GKMatchmaker findmatchforrequest の使用

エラーの説明の印刷:

エラー Domain=GKErrorDomain Code=8 「プレーヤーが無効なため、要求された操作を完了できませんでした。」UserInfo=0x1dd62f40 {GKServerStatusCode=5121, NSUnderlyingError=0x1dd62ca0 "操作を完了できませんでした。最近プレイしていないプレーヤー間の招待: G:1752931323, G:1752935955", NSLocalizedDescription=プレーヤーが無効です。}

4

2 に答える 2

1

私もこれをやりたいと思っていますが、招待は友人からのみでなければならないとAppleが指定しているドキュメントを信じています.

于 2014-01-23T16:15:44.613 に答える
1

はい、機能します。制限は、プレイヤーが最近プレイしたことがあるということです。これは、フレンドではないプレーヤーのいくつかのシナリオに当てはまる可能性があります。

  • 彼らは一緒にランダムマッチをしました
  • プレイヤーは Wi-Fi または Bluetooth 経由でプレイしているか、以前に一緒にプレイしたことがある
  • 彼らはかつて友達でしたが、友達リストからお互いを削除しました。
  • 彼らは 3 人以上のマルチプレイヤー マッチをプレイし、プレイヤーの 1 人とは友達でしたが、もう 1 人は友達ではありませんでした。
  • それらのデバイスの GameCenter ログインが最近変更されたとしても、以前一緒にプレイした 2 台のデバイスでプレイしているため、技術的にはフレンドではありません (ネットワーク設定をリセットすると、この機能が削除されます)。

これらのケースはまれであるため、「ほぼ常に友達」節です。

私がこれを処理している方法は、彼らが友達であるかどうかに関係なく、最初に招待を試みることです. このエラーが発生した場合は、ユーザーに友達ではないことを通知し、友達リクエスト ビュー コントローラーを使用して友達リクエストを送信するように求めます。

于 2014-03-09T08:03:29.907 に答える