iOS: не удается заставить BluetoothManager работать - PullRequest
2 голосов
/ 22 февраля 2011

Предупреждение: я знаю, что частные платформы не будут летать в App Store.

Я пытаюсь использовать инфраструктуру BluetoothManager, чтобы позволить мне 1) проверить, включен ли Bluetoothна устройстве и 2) если не включен, включите его.

Я могу успешно загрузить BluetoothManager в соответствии с найденными инструкциями здесь , но как только я это сделаю, BluetoothManager просто не 'Кажется, он ничего не делает.

Вызов с включенным вызовом всегда возвращает NO, даже если Bluetooth включен.Вызов setEnabled никогда не меняет своего состояния.Абсолютно все другие вызовы BluetoothManager, которые я пробовал, всегда возвращают NO, nil, массивы с нулевым элементом и т. Д. Короче говоря, возвращаемый BluetoothManager кажется полностью стерилизованным.(Я работаю на своем iPhone 4.2.1, а не на симуляторе.)

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

Большое спасибо.

Ответы [ 3 ]

3 голосов
/ 09 декабря 2011

Запуск BluetoothManager и его подключение к BTServer занимает секунду. Я просто сделал быстрый вызов общего экземпляра - [BluetoothManager sharedInstance]; - чтобы заставить его инициализироваться. По завершении инициализации будет отправлено BluetoothAvailabilityChangedNotification . Я просто послушаю это и попробую [[BluetoothManager sharedInstance] setEnabled:YES]; в обратном вызове уведомления.

К вашему сведению, объект, включенный в NSNotification для BluetoothAvailabilityChangedNotification , является логическим, поэтому вы должны быть в состоянии проверить это, чтобы убедиться, что Bluetooth действительно доступен.

1 голос
/ 23 марта 2014

Существует демонстрационный проект на Github под названием BeeTee для демонстрации частного фреймворка BluetoothManager.

1 голос
/ 11 марта 2011

Это из-за IPC.BluetoothManager связывается через sendMsg et el.Например, используйте NSTimer для запроса BluetoothManager sharedInstance, чтобы у вашей программы было время получать и обрабатывать сообщения.

...