BAD_ACCESS

おもにiOS、ときどき変な電子工作、ガジェット話。

ローカルP2Pアプリをつくるためにググりまくった結果

GKSession、GKVoiceChatServiceがiOS7からdeprecated orz...

こんな感じで紹介されていたGKSessionとGKVoiceChatServiceの組み合わせによる構成も今は推奨されていない。

iOS7からはMultipeer Connectivity Framework

今まで、GKSession等を使って構成していたP2Pを専用のフレームワークを使ってつくることができる。

まずは、WWDC 2013 Session VideosNearby Networking with Multipeer Connectivityで概要を確認。 そのあとAppleの公式サンプルアプリMultipeerGroupChatをビルドして実機確認。

【簡単】MCAdvertizerAssistantとMCBrowserViewController

クラスメソッドさんのこの記事「[iOS 7] P2P 通信を手軽に実現する Multipeer Connectivity Framework を使ってみる」に実装例を含めて詳しく書いてある。 MCAdvertizerAssistantとMCBrowserViewControllerが端末を探して、相手と接続するまでの煩わしい部分をよしなにしてくれるので、非常に簡単!

MCBrowserViewControllerはフレームワークでUIまで用意してくれちゃっているので、公式のサンプルアプリも併せるとすごく簡単にわりとリッチなP2Pのチャットアプリまで作れてしまう。

「デフォルトのピア選択画面はねーよ」という意見もあり、

Screenshot 2013.11.26 00.25.24.png

iOS7のフラットなデザインと相まって、MCBrowserViewControllerで提供してくれるUIは非常にシンプルで洗練されているのですが、いかんせん味気がないため、用意しているデザインなどとフィットしないということが十分にありえます。

※今回はその目的のために色々と調べてきたわけです。

【カスタマイズ】MCNearbyServiceAdvertiserとMCNearbyServiceBrowserを使ってP2P接続

こんな感じで実際にも需要はありそうなところだと思います。

一番、欲しい形でまとまっていたのがこの方の記事です。 [iOS 7 SDK] Multipeer Connectivity framework で Peer-to-Peer Connectivity

ここで紹介されているテスト接続用のアプリを同じように書いてみて、接続できたので、一応は調べたいところまでは行きました。

以下、気になる点

  • Wi-fiではうまく接続できたが、Bluetoothでは??になるときがあった。

このあたりドキュメント上、Wi-fiもBluetoothも問題なくいけるはずだけどちょっと心配。

  • 接続を許可するところなどもこっちで書かないといけないので、汎用的に使えるように書いておきたい。

  • VoiceChat部分の実装。

いいのなんかないかな。