2011-01-20 9 views
1


私は3つのデバイス(mac、ipod、iphone)を持っています。それらはすべてwi-fiに接続されています。私がアプリケーションをテストするとき、それは2つのデバイスを接続し、両方ともブルートゥースのスイッチを入れようとするが、とにかくwi-fiを使いたい。それらにwi-fiの代わりにBluetoothを使用させる方法。GKPeerPickerControllerを使用して2つのデバイスを接続する

GKPeerPickerController*  picker; 
picker = [[GKPeerPickerController alloc]init]; 
picker.delegate = self; 
picker.connectionTypesMask = GKPeerPickerConnectionTypeNearby; //Here, I suppose, program should use BlueTooth(but it uses the same network). 
[picker show]; 

しかし、1つのデバイスがwi-fiに接続されていないと、すべて正常に動作します。
なぜconnectionTypesMaskをGKPeerPickerConnectionTypeNearbyに設定するのは、インターネット接続のうちの最初のものを使用し、次にBluetooth接続のみを使用するのですか?強制的にBluetoothのみを使用する方法は?

答えて

0

私が見つけた唯一の方法:MacBookの空港をオフにして、BTをオンにする。

0

GKPeerPickerControllerデリゲートメソッドのこのコードでは、iOS 5の開発を始めてマークとラマルシュからです:

-(GKSession*)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type 
{ 
GKSession *theSession; 
if (type == GKPeerPickerConnectionTypeNearby) 
{ 
    theSession = [[GKSession alloc] initWithSessionID:kTicTacToeSessionID displayName:nil sessionMode:GKSessionModePeer]; 
} 
return theSession; 
} 

それはあなたが唯一のBT接続セッションを保証します。サンプルプロジェクトでは、peerPickerのいくつかの隠し機能が、デバイスにBlueToothをオンにするように要求します。

関連する問題