P2P アプリケーションを実装しようとしています。私がやろうとしているのは、デバイス間でカスタム NSObject クラスのデータを転送することです。「receivedData」メソッドが GKSession によって呼び出されるタイミングを把握できません。
これが私がやったことです
通常の接続とピアとのダイアログ ボックスの表示
アプリがピアの状態変更を受信し、状態が Connected の場合、NSCoding メソッドを使用してすべてのピアにデータを送信します (理想的には、各ピアが接続を受け入れるときにこれを呼び出す必要があります)。
receivedData では、NSData をデコードして NSObject インスタンスを取得しています
問題は、両方のデバイスでsession:peer:didChangeState:メソッドが呼び出されないことです。PeerPicker アラートで「接続」ボタンをタップしたデバイスで呼び出されるだけです。
質問
didChangeState はいつ、誰のために呼び出されますか? ピアが接続されているときにピアごとに呼び出されるべきではありませんか?
receivedData: メソッドはいつ、誰のために呼び出されますか? メッセージの受信 (ハンドシェイク) を確認するために呼び出されるのか、それとも他のピアから送信されたデータを送信するために呼び出されるのか?
助けてくれてありがとう。