10

ユーザーが招待状を送受信せずにマルチピア接続セッションに自動的に接続される、FireChat に似たアプリを作成しようとしています。

私が見たすべてのチュートリアルは、MCBrowserViewController を利用しています。接続するピアを選択せず​​にセッションに参加でき、Firechat が要求した場合は接続要求を送信して受け入れる必要があります。

誰もこれを行う方法を知っていますか?

ありがとう

4

1 に答える 1

13

MCBroswerViewController を使用する代わりに、MCNearbyServiceBrowser を使用できます。次に、デリゲート メソッドを呼び出します。

- (void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary *)info;

次に、次のような招待状を自動的に送信できます。

[browser invitePeer:peerID
            toSession:self.session
          withContext:nil
              timeout:10];

ただし、これを行う際に、他の多くの問題に遭遇しました。これまでのところ、次のようです。

  • 両方のデバイスが招待を送信して受け入れると、すぐにランダムに切断されます。
  • 両方のデバイスが同時にアドバタイジングとブロードキャストを行っている場合、ランダムに切断されます。

私は現在、あなたが求めていることを正確に実行するために、オープン ソース ライブラリに取り組んでいます。つまり、招待状やブラウザーを必要とせずに (UI なしで) デバイスを接続します。

ここにあります:https://github.com/plivesey/PLPartyTime

ただし、まだ機能していません。上記の両方の問題を完全に解決したわけではありませんが、コードをチェックアウトして、何ができるかを確認したい場合は、それを試してください. 進捗状況があればお知らせください。このフレームワークは、対処するのにイライラします...

于 2014-04-15T06:00:02.977 に答える