のベースチャットプログラムを実装してBlueTooth
います。接続目的で使用しています。しかし、いくつかの特別な要件のアプリケーションのため、デフォルトを使用できません。そのため、ピアを検出するためにandコンボを作成しました。お互いを見つけたら、チャットできます。Wifi
iPhone
GameKit
GKPeerPickerController
GKSession
GKSessionDelegate
今、私は、1 つのシミュレーターと 1 つ、1 つと1つmac-minis
を使用して、3 つのチャット機能をテストしました。上記のすべてのシナリオでチャットできます。しかし、とがお互いを検出しない方法もあります。simulator
iPod
iPhone
Simulator
iPhone
iPod
また、これらすべてのデバイス間で発生している接続の種類にも興味があります。理論的にはとGameKit
の両方をサポートするためです。問題は、と の間で具体的に選択することです (残念ながら、 の実装はどこにも文書化されていません) 。利用可能な唯一のメソッドを使用してオブジェクトを作成する場合:BlueTooth
WiFi
GKPeerPickerController
BlueTooth
WiFi
WiFi
GKSession
GKSessionDelegate
GKSession
init
– initWithSessionID:displayName:sessionMode:
これが提供する唯一の構成オプションですsessionMode
が、3つのオプションしかありません
GKSessionModeServer,
GKSessionModeClient,
GKSessionModePeer,
Bluetooth
いずれもとの間の接続の選択を示していませんWiFi
。
しかし、私は を無効bluetooth
にして、動作するようにiPod
テストしたmac-mini
ので、これは を使用していると思いWiFi
ます。また、ログには次の行が表示されます。
DNSServiceRegister callback: Ref=4c3f3d0, Flags=2, ErrorType=0 name=00XGT0H0A..BTChat1 regtype=_0eilkgh5o2mq17._udp. domain=local.
DNSServiceRegister
とのudp
部分は、コミュニケーションが起こっていると思わせますTCP/IP
。
つまり、これは、最初からデフォルトの通信方法がWiFiのみであることを意味しGKSession
ますGKSessionDelegate
か、それとも両方を同時にサポートWiFi
しますか(ただし、接続が行われているという単一の兆候は得られませんでした)。bluetooth
BlueTooth
しかしGameKit
、主にそうであるはずBlueTooth
ですよね?正確に何が起こっているのか、状況を明らかにできる人はいますか?
また、誰かが WiFi インターフェイスを実装したサンプル コードを見たことがあります GKPeerPickerController
か?
解決済み:
わかりました。自分で見つけました。質問で述べたようにGKSession
、カスタム実装は と の両方で機能します。実際に私が使用しているにはいくつかの問題があり、おそらくそれが適切に動作するのを妨げていました。電話をハードリセットしてモードをオフにした後、数回オンオフすると電話で動作しました。現在、アプリはモードとモードの両方で正常に動作しています。GKSessionDelegate
bluetooth
WiFi
iPhone (JailBroked)
BlueTooth
Gamekit
Airplane
bluetooth
bluetooth
WiFi
BlueTooth