Подтвердить что ты не робот

Симулятор 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?
  • Если да, как его включить?
4b9b3361

Ответ 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, то он работает. просто для случаев, которые вы хотите создать в инструменте командной строки.