Программирование Bluetooth на iOS - проблема с установкой p2p между двумя iPad - PullRequest
0 голосов
/ 05 марта 2012

Я новичок в программировании Bluetooth на iPhone, и я хотел установить соединение PeerToPeer Bluetooth между двумя устройствами iOS. Я следовал инструкциям этого урока

http://www.devx.com/wireless/Article/43502/0/page/1

и все происходит как следует, пока я не получу опцию принять или отклонить, когда будет обнаружено другое устройство.

Как только я выбираю принять, приложение вылетает на обоих устройствах. И сообщение об ошибке показано так: -

wait_fences: не удалось получить ответ: 10004003 2012-03-05 15: 40: 25.809 Bluetooth [204: 707] - [Сеанс ViewController: didFailWithError:]: нераспознанный селектор отправлен на экземпляр 0x367fe0 2012-03-05 15: 40: 25.811 Bluetooth [204: 707] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [Сеанс ViewController: didFailWithError:]: нераспознанный селектор отправлен в экземпляр 0x367fe0'

Кто-нибудь знает, что происходит?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

Обнаружил проблему.Сделал довольно глупую ошибку!

Я написал метод следующим образом

- (void)peerPickerController:(GKPeerPickerController *)picker 
              didConnectPeer:(NSString *)peerID 
                   toSession:(GKSession *) session {

и в нем я настроил приложение для получения данных через Bluetooth с помощью

[session setDataReceiveHandler:self withContext:nil];

Я подумал, что сначала проверю, установлено ли соединение, а затем подумаю о передаче данных.Но оказывается, что вы не можете сделать это, потому что обработчик данных был установлен, и я не реализовал его самостоятельно.Когда я написал это, оно работало нормально!

Надеюсь, это мешает людям совершать такие очевидные ошибки!

0 голосов
/ 05 марта 2012

Просто скопируйте и вставьте это из комментариев ниже в ссылке, которую вы разместили:

В случае, если люди не смогли собрать и запустить успешно, вам нужно импортировать GameKit framework (папка каркасов правой кнопкой мыши> существующие каркасы> GameKit.framework)

Добавить в файл BluetoothViewController.h :

#import "GameKit/GKSession.h"
#import "GameKit/GKPeerPickerController.h"
...