私は先週かそこらの間、これに頭を悩ませてきました。私はすでに次のリソースを調べました。
- StackOverflow: Gamekit なしで Bluetooth 経由の Bonjour ? (3844189)
- StackOverflow: Bonjour Over Bluetooth の仕組み (3350094)
- StackOverflow: iOS GameKit の「Bluetooth Bonjour」を他のプラットフォームで使用する (8070998)
- テクニカル Q&A QA1753 -- Apple Developer
- WiTap サンプル アプリケーション
- SRVResolver サンプル アプリケーション
- DNSSDObjects サンプル アプリケーション
私は Mac OS 10.7、Xcode 4.5、iOS 6 を搭載した iPhone 4、iOS 5.1.1 を搭載した iPad 1 を使用しています。
私の問題は次のとおりです。現在、GameKit のピア ピッカーを使用して iPad と iP{hone|od touch} を接続するアプリケーションを変更しています。接続が失われた場合に Gamekit を使用してデバイスを再接続する際に問題が発生したため、代わりに Bluetooth 経由で Bonjour を使用するようにこれを変更したいと考えています。私は dns_sd.h API を使用して成功し、wifi 経由でアドバタイズして解決するサービスを取得しましたが、kDNSServiceFlagsIncludeP2P を渡しているにもかかわらず、Bluetooth 経由で成功していません。
おそらくBluetooth Bonjourにはデバイス間でPANが確立されている必要があると思いましたが、iPadをiMacにペアリングしてDNS-SDサービスをブラウズしても何も得られません...とにかくiPhoneはiPadにペアリングしません.