7

2 つのデバイス間でターン ベースのゲームをテストしています。私が理解している限りでは[GKTurnBasedMatch endTurnWithNextParticipants:]、たとえば でターンを送信すると、自動的にゲーム センターの通知が対戦相手にプッシュされるはずです。場合によっては、これが期待どおりに機能することもあります。順番が送信されると、すぐにバナー通知が他のデバイスに表示されます。すべては順調です。

私を困惑させているのは、ターン自体が適切に送信されている場合でも (対戦相手が試合を更新すると、試合は最新の状態になるのでわかります)、プッシュ通知が来ないことです。

ここで私の理解に穴はありますか?私が正しく理解している場合、一貫性のない通知は私のコードとは何の関係もないはずです。ここでの問題は通知の処理方法ではなく、通知がまったくないことです。言い換えれば、[handleTurnEventForMatch:]GKTurnBasedEventHandlerDelegateメソッド)はそれとは何の関係もありません(私はそうは思いません)。通知が受信されていない場合、とにかく呼び出されることはないからです。

だから、誰かがこれについて何か経験をしたことがあるかどうか疑問に思っています。これは私のコードの何かが原因である可能性はありますか? または、Game Center サンドボックスが不整合の原因である可能性はありますか?それについて私にできることはありませんか?

どんな考えやアイデアでも大歓迎です。

4

3 に答える 3

0

私も同じ問題に直面しています。私のゲームは Game Center からのターン イベントとターン通知の受信を停止し、ゲームを終了してテストしていましたが、今週、問題が発生し始めました。それは魔法のように機能していましたが、突然、インスタンスが数日間ターンイベントを受信しなくなりました。

私は iOS7 SDK を使用し、iOS7 をターゲットにしています (ターン イベントの処理は以前の iOS バージョンとは異なります。今後のゲーム機能では交換が必要になるため、iOS7 を使用しています)。

そこで、iOS6以前のSDKと同じかどうかを確認するテストアプリを作成しましたが、どうしようもなく同じでした。ですから、コードを iOS7 にアップグレードしてうまくいくことを期待して時間を無駄にしないでください。問題はそこにあります。また、デバイスや設定のリセット、新しいユーザーの使用など、多くのことを試しました。

Ray Wenderlich の Turn-Based Gaming with iOS 5 チュートリアルでも、ソース コードをダウンロードして試してみましたが、どちらも機能しません。

問題は、通常、ゲームを起動すると、ゲームはターンイベントを受信しますが、数ターン後に停止し、受信を停止すると永遠に停止します. 試合をリロードすると、更新された試合を取得でき、そのデータも更新されるため、ターンを行うことができます。Game Centerで試合が更新されたことを意味します。そのため、Game Center がデータをユーザーにプッシュしていないか (ゲームがバックグラウンドにあるときにユーザーが Game Center からの通知を受信できないために発生している可能性があります)、または GameKit がイベントをハンドラーに送信していません。

なぜそれが起こったのか、なぜそれが起こり始めたのかはわかりませんが、サンドボックスの外でうまくいくことを期待して、このようにゲームをリリースすることはできません. 私はさらにいくつかのことを試して (iOS7 のターン リマインダーを試して、ユーザーにプッシュするかどうかを確認するなど)、Apple のサポート チームに問い合わせます。私が計画しているもう 1 つのことは、テスト アプリを App Store に置いて、サンドボックスの外で動作するかどうかを確認することです。

うまくいけば、それはサンドボックスの問題です。

于 2013-12-07T19:35:32.123 に答える