web-dev-qa-db-fra.com

Le simulateur iPhone sous Xcode prend-il en charge Bluetooth Low Energy?

J'essaie des applications de test iOS sur le nouveau Mac mini, qui prend en charge Bluetooth Low Energy. Le framework CoreBluetooth est utilisé dans ceux-ci. Cependant, je ne parviens pas à faire fonctionner Bluetooth dans le simulateur iPhone, cela fait partie de Xcode.

Lorsque j'alloue un nouveau CBCentralManager , centralManagerDidUpdateState: reçoit CBCentralManagerStatePoweredOff qui signifie que Bluetooth est actuellement désactivé.

La première fois que j'ai exécuté l'application de texte, une boîte a été ouverte qui semblait assez bousillée (seules les variables de langue ont été utilisées, pas les textes réels) et avec deux boutons. Le premier m'a conduit au panneau des paramètres où il y avait une option pour activer Bluetooth. Cependant, une fois que je lui ai demandé d'activer Bluetooth, il ne montre que l'animation qui tourne, mais il ne sera ni terminé ni annulé. Même après le redémarrage du Mac, il ne reste que l’animation en rotation. La boîte ne s'ouvre plus non plus.

Essentiellement, je pense que le simulateur iPhone devrait prendre en charge Bluetooth Low Energy. Autrement, il n’est pas vraiment logique qu’il existe une option dans l’application de configuration du simulateur. En outre, l'état du gestionnaire central est CBCentralManagerStatePoweredOff mais pas CBCentralManagerStateUnsupported, ce qui correspondrait à la plate-forme ne prend pas en charge Bluetooth Low Energy. Cela donne aussi l’espoir que le soutien puisse exister.

  • Le simulateur iPhone prend-il en charge Bluetooth Low Energy?
  • Si oui, comment puis-je l'activer?
41
Etan

Le simulateur prend en charge Bluetooth Low Energy (4.0) selon cette note d'Apple. Le seul problème est que même si vous avez un ordinateur avec BLE à l'intérieur, vous ne pourrez pas utiliser le simulateur avec, car (je pense que vous occupez la disponibilité sur BLE pour que d'autres appareils découvrent votre ordinateur, ce qui limite la fonctionnalité du Mac. 

Donc, si vous vous procurez un dongle BLE USB, vous pourrez l’utiliser en simulateur.

EDIT: Ajout des informations de @JoeShaw:

Malheureusement, il semble que la prise en charge de Core Bluetooth ait été supprimée du simulateur pour iOS 7. Référence: doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7. En outre, la note technique liée semble avoir été supprimée.

40
chwi

J'utilise le simulateur pour tester les applications BLE - mais vous devez être sous OSX 10.7. Comme Wilhelmsen l'a mentionné, vous avez également besoin d'un dongle USB BLE. En outre, vous devez définir un paramètre NVRAM:

$Sudo nvram bluetoothHostControllerSwitchBehavior="never"

Consultez cette note technique d'Apple pour plus de détails sur l'utilisation du simulateur pour tester les applications BLE: http://developer.Apple.com/library/ios/#technotes/tn2295/_index.html

13
mezulu

Selon http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/ , la prise en charge de Core Bluetooth a été supprimée du simulateur à partir de iOS 7. I Je n'ai pas encore compris pourquoi, mais cela signifie que vous devrez tester sur du matériel réel à l'avenir.

Il semble également que Apple ait supprimé la note technique 2295, car je suis redirigé lorsque je clique sur l'URL.

9
Joe Shaw

J'ai constaté qu'Apple écrivait dans leurs propres exemples que le simulateur ne pouvait pas être utilisé pour tester des applications basées sur Core Bluetooth.

Important: Ce projet nécessite un appareil compatible Bluetooth LE (actuellement, seul l'iPhone 4S) et ne fonctionnera pas sur le simulateur. 

4
Etan

Je travaille sur une application BLE depuis une semaine et je peux affirmer avec certitude que non, le simulateur ne prend pas en charge BLE, à moins que le Mac que vous utilisez utilise BLE (Macbook Air). comment l'activer (probablement en utilisant BLE sur votre Mac et sur le simulateur). 

Si vous n'avez pas de mac compatible BLE, vous devez vous trouver un 4s pour faire des tests!

2
kj13ennett

En fait j'ai essayé dans le simulateur et ça ne marche pas. Le simulateur ne reconnaît pas si vous avez un Bluetooth 4.0 sur votre ordinateur, mais si vous utilisez des projets d’outil de ligne de commande dans Xcode, cela fonctionnera. uniquement pour les cas où vous souhaitez créer quelque chose dans l'outil de ligne de commande. 

0
sebastian