it-swarm.com.ru

Поддерживает ли симулятор iPhone в Xcode Bluetooth Low Energy?

Я пробую некоторые тестовые приложения для iOS на новом Mac mini, который поддерживает Bluetooth Low Energy. CoreBluetooth Framework используется в тех. Однако я не могу заставить работать Bluetooth в симуляторе iPhone, который является частью Xcode.

Когда я выделяю новый CBCentralManager , centralManagerDidUpdateState: получает CBCentralManagerStatePoweredOff, что означает Bluetooth в настоящее время выключен.

Когда я в первый раз запустил текстовое приложение, открылось окно, которое выглядело довольно прослушанным (использовались только языковые переменные, а не текст), и с двумя кнопками. Первый привел меня на панель настроек, где была возможность включить Bluetooth. Однако после того, как я сказал ему включить Bluetooth, он просто показывает вращающуюся анимацию и не будет ни завершать, ни отменять. Даже после перезагрузки Mac остается только вращающаяся анимация. Коробка тоже больше не открывается.

По сути, я считаю, что симулятор iPhone должен поддерживать Bluetooth Low Energy. В противном случае не имеет смысла, что в симуляторе есть опция в приложении настроек. Кроме того, состояние центрального менеджера CBCentralManagerStatePoweredOff, но не CBCentralManagerStateUnsupported, что будет означать Платформа не поддерживает Bluetooth Low Energy. Это также дает надежду, что поддержка может существовать.

  • Поддерживает ли симулятор iPhone Bluetooth Low Energy?
  • Если да, как я могу включить его?
41
Etan

Симулятор действительно поддерживает Bluetooth Low Energy (4.0) в соответствии с этим приложением от Apple. Единственная проблема заключается в том, что даже если у вас есть компьютер с BLE внутри, вы не сможете использовать симулятор вместе с ним, потому что (я думаю) вы занимаете доступ к BLE для других устройств, чтобы обнаружить ваш компьютер, тем самым ограничивая функциональность Mac. 

Так что если вы купите USB-ключ BLE, вы сможете использовать его в симуляторе.

Правка: Добавление информации от @JoeShaw:

К сожалению, похоже, что поддержка Core Bluetooth была сброшена с симулятора для iOS 7. Ссылка: doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7. Кроме того, связанный technote, кажется, был удален.

40
chwi

Я использовал симулятор для тестирования приложений BLE - но вы должны быть на OSX 10.7. Как упоминал Вильгельмсен, вам также понадобится USB-ключ BLE. Кроме того, вам нужно установить настройки NVRAM:

$Sudo nvram bluetoothHostControllerSwitchBehavior="never"

Для получения более подробной информации об использовании симулятора для тестирования приложений BLE см. Это Техническое примечание Apple: http://developer.Apple.com/library/ios/#technotes/tn2295/_index.html

13
mezulu

Согласно http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/ , поддержка Core Bluetooth была прекращена с симулятора с iOS 7. I еще не выяснили, почему, но это означает, что в будущем вам придется тестировать на реальном оборудовании.

Похоже, что Apple удалила Tech Note 2295, так как меня перенаправляют, когда я нажимаю на URL.

9
Joe Shaw

Я обнаружил, что Apple пишет в своих собственных примерах что симулятор нельзя использовать для тестирования Core Bluetooth приложений.

Важный: Этот проект требует Bluetooth LE Capable Device (в настоящее время только iPhone 4S) и не будет работать на симуляторе. 

4
Etan

Я работал над приложением BLE на прошлой неделе и могу с уверенностью сказать, что нет, симулятор не поддерживает BLE, если только у используемого Mac нет BLE (Macbook Air) - но даже тогда я не уверен на 100% как включить это (скорее всего, просто включив BLE на вашем Mac и на симуляторе). 

Если у вас нет Mac с поддержкой BLE, вам нужно найти 4s для тестирования!

2
kj13ennett

На самом деле я пытался в симуляторе и не работает. Симулятор не распознает, если у вас есть Bluetooth 4.0 на вашем компьютере, но если вы используете проекты инструментов командной строки в XCode, то он работает. только для случаев, когда вы хотите создать что-то в инструменте командной строки. 

0
sebastian