web-dev-qa-db-fra.com

Connexion à un appareil Bluetooth depuis iOS, pas de MFi

L'ambiance que je reçois de Stackoverflow et d'Internet en général est qu'à moins que j'utilise un appareil LE, tout appareil Bluetooth que je crée pour une application iOS doit être certifié MFi.

Cependant, sur la page FAQ MFi , j'ai trouvé cette ligne:

... les développeurs d'accessoires qui s'appuient uniquement sur une technologie standard (par exemple, Bluetooth Low Energy ou profils Bluetooth standard) n'ont pas besoin de rejoindre le programme MFi.

Mon appareil pourra utiliser le profil Bluetooth standard File Transfer Protocol (FTP) .

Maintenant, cela ressemble à des conseils contradictoires pour moi, ou peut-être que je ne comprends tout simplement pas correctement. Donc, après avoir fourni les preuves ci-dessus, je vais simplement demander: puis-je écrire et publier une application iOS qui se connecte à un appareil Bluetooth propriétaire en utilisant le profil Bluetooth standard FTP sans certifier mon appareil comme MFi? Et si oui, quels détails, mises en garde, etc. dois-je savoir?

24
Aaron

Cette ligne fait référence aux profils standard pris en charge nativement par les périphériques ios, tels que HFP ou A2DP. Si vous construisez un casque qui utilise HFP, l'iphone pourra s'y connecter et acheminer votre appel vers le casque sans que le casque fasse partie du MFi.

Si vous voulez écrire une application qui fait d'autres choses avec Bluetooth, y compris FTP, vous devrez utiliser MFi.

15
TJD

La nouvelle spécification Bluetooth 4.0 Low Energy (ci-après BLE 4.0) qui est implémentée dans les derniers appareils iOS d'Apple permet de créer des profils spécifiques à l'application et de se connecter aux appareils BLE 4.0 sans jailbreak, en utilisant un profil Bluetooth 2.1 approuvé, ou en faisant partie d'Apple 'd programme MFI et en utilisant les puces cryptographiques MFI précédemment nécessaires.

En d'autres termes, avec les radios Bluetooth compatibles BLE 4.0 appropriées, vous pouvez créer des appareils sans fil qui se connectent aux applications iOS sans que l'appareil soit pré-approuvé par Apple. Cependant, vous devez écrire une application personnalisée pour l'appareil, et Apple détient toujours la possibilité de rejeter cette application s'ils le souhaitent. Donc, ils contrôlent toujours cela dans une large mesure. Il s'agit essentiellement d'Apple répondre à Android ADK, sans pour autant abandonner complètement la possibilité de fermer les applications et les appareils qu'ils n'aiment pas.

Votre application doit inclure un schéma XML spécifique pour le profil Bluetooth de votre application et utiliser les API CoreBluetoothFramework, il est donc très évident de Apple pendant le processus d'approbation de l'application que votre application se connecte à un appareil. Si votre application ne ne fonctionne pas sans l'appareil présent, il est probable qu'il soit rejeté si vous ne faites pas partie du programme MFI, car Apple ne peut pas tester l'application sans votre appareil. Les applications qui semblent réussir dans la réussite de ce test utilise l'appareil comme un accessoire de la fonctionnalité de l'application, plutôt qu'une exigence. Par exemple, une application d'exercice peut se connecter à un moniteur de fréquence cardiaque BLE 4. , mais l'application n'en dépend pas.

Certaines applications semblent contourner ce problème en affichant des informations simulées ou en ligne à la place des informations sur l'appareil lorsqu'aucun appareil n'est présent. Ainsi, l'application peut être testée sans l'appareil et fonctionne de manière fonctionnelle lorsque l'appareil est présent.

Vous pouvez découvrir quelques efforts réussis en ligne:

http://blog.makezine.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/

BlueGiga en particulier a poussé leurs appareils spécifiquement pour cette utilisation , il y a donc probablement des forums et un support pour cela ailleurs.

Gardez à l'esprit que les appareils qui prennent actuellement en charge BLE 4.0 sont limités et ne comprennent actuellement

  • iPhone 4S et iPhones ultérieurs
  • macBook Air récent, Mac Mini
  • iPad (3e génération et versions ultérieures et iPad mini)
  • Macbook Pro Retina

Il peut y avoir d'autres Apple appareils qui prennent en charge cette norme, c'est quelque chose Apple fait de la publicité ouvertement sur la page des spécifications techniques de chaque produit, il est donc facile de trouver les produits actuels.

27
Adam Davis