Симулятор iPhone в Xcode поддерживает Bluetooth Low Energy?
Я пытаюсь использовать некоторые тестовые приложения iOS на новом Mac mini, поддерживающем Bluetooth Low Energy. В них используется структура CoreBluetooth. Тем не менее, я не могу заставить Bluetooth работать в симуляторе iPhone, который является частью Xcode.
Когда я выделяю новый CBCentralManager, centralManagerDidUpdateState: получает CBCentralManagerStatePoweredOff
, который означает, что Bluetooth в настоящее время отключен.
В первый раз, когда я запустил текстовое приложение, я открыл окно, которое выглядело довольно искаженным (использовались только языковые переменные, а не фактические тексты) и с двумя кнопками. Первый привел меня к панели настроек, где была возможность включить Bluetooth. Однако после того, как я сказал, чтобы включить Bluetooth, он просто показывает вращающуюся анимацию, и она не будет завершена или отменена. Даже после перезагрузки Mac все еще остается только анимация вращения. Ящик также больше не открывается.
По сути, я думаю, что симулятор iPhone должен поддерживать Bluetooth Low Energy. В противном случае на самом деле не имеет смысла, что в приложении настроек на симуляторе есть опция. Кроме того, центральное состояние менеджера CBCentralManagerStatePoweredOff
, но не CBCentralManagerStateUnsupported
, которое будет стоять. Платформа не поддерживает Bluetooth Low Energy. Это также дает надежду на то, что поддержка может существовать.
- Поддерживает ли iPhone симулятор Bluetooth Low Energy?
- Если да, как его включить?
Ответы
Ответ 1
Симулятор поддерживает Bluetooth Low Energy (4.0) согласно этому описанию от Apple. Единственная проблема заключается в том, что даже если у вас есть компьютер с BLE внутри, вы не сможете использовать симулятор вместе с ним, потому что (я думаю) вы занимаете доступность BLE для других устройств для обнаружения вашего компьютера, тем самым ограничивая функциональность Mac.
Итак, если вы заберете себе USB-ключ BLE, вы сможете использовать его в симуляторе.
EDIT: добавление информации из @JoeShaw:
К сожалению, похоже, что поддержка Core Bluetooth была исключена из симулятора для iOS 7. Ссылка: doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7. Кроме того, связанный технот, похоже, был удален.
Ответ 2
Я использую симулятор для тестирования приложений BLE, но вам нужно быть на OSX 10.7. Как упоминал Вильгельмсен, вам также нужен USB-ключ BLE. Кроме того, вам необходимо установить настройку NVRAM:
$sudo nvram bluetoothHostControllerSwitchBehavior="never"
См. эту техническую ноту от Apple для получения более подробной информации об использовании симулятора для тестирования приложений BLE: http://developer.apple.com/library/ios/#technotes/tn2295/_index.html
Ответ 3
Согласно http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/, поддержка Core Bluetooth была отключена с симулятора с iOS 7. Я еще не понял, почему, но это означает, что вы необходимо будет проверить на реальном аппаратном обеспечении в будущем.
Также кажется, что Apple удалила Tech Note 2295, так как я перенаправляюсь, когда попадаю в URL.
Ответ 4
Я обнаружил, что Apple пишет в свои собственные образцы, что симулятор не может быть использован для тестирования базовых приложений на базе Bluetooth.
Важно: Этот проект требует Bluetooth LE Capable Device (в настоящее время только iPhone 4S) и не будет работать на симуляторе.
Ответ 5
Я работаю над BLE-приложением на прошлой неделе и могу с уверенностью сказать, что нет, симулятор не поддерживает BLE, если только Mac, использующий BLE (Macbook Air), - но даже тогда я не 100% уверен, как включить это (скорее всего, просто замерив BLE на вашем Mac и на симуляторе).
Если у вас нет Mac с поддержкой BLE, вам нужно найти 4s для тестирования с помощью!
Ответ 6
На самом деле я пробовал в симуляторе и не работал.
Симулятор не распознает, есть ли у вас Bluetooth 4.0 на вашем компьютере, но если вы используете проекты инструмента командной строки в Xcode, то он работает. просто для случаев, которые вы хотите создать в инструменте командной строки.