Соединение двух устройств с помощью GKPeerPickerController - PullRequest
1 голос
/ 20 января 2011


У меня есть три устройства (Mac, Ipod, Iphone), все они подключены к Wi-Fi. Когда я тестирую приложение, которое соединяет два устройства, оба просят включить Bluetooth, но в любом случае они хотят использовать Wi-Fi. как заставить их использовать Bluetooth вместо Wi-Fi.

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];

Но если одно устройство не подключено к Wi-Fi, все работает нормально.
Почему для настройки connectionTypesMask на GKPeerPickerConnectionTypeNearby в первую очередь используется подключение к Интернету, а только затем подключение Bluetooth Как заставить использовать только Bluetooth?

Ответы [ 2 ]

0 голосов
/ 17 июня 2013

Этот код для метода делегата 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.

0 голосов
/ 30 марта 2011

Единственный способ, который я нашел для этого: отключить аэропорт в MacBook и включить BT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...