Ich bin bei Entwicklung eines iOS-App suchen, die mit Bluetooth klassischen Geräten mit iOS Unterstützte Bluetooth-Profile kommunizieren
Wie ich es verstehe, sollte dies mit dem externen Zubehör-Framework möglich sein und keine Teilnahme am MFi-Programm erfordern. Vom MFi FAQ :
Welche Arten von Zubehör und Technologien sind nicht Teil des MFi? Programm?
Zubehör, das keine der lizensierten MFi-Technologie verwendet oben sind nicht Teil des MFi-Programms. Zum Beispiel:
- Zubehör, die nur Standard Bluetooth-Profile von iOS unterstützt verwenden
So weit, so gut. Der Externe Zubehörrahmen doc Einleitung sagt (Hervorhebung hinzugefügt):
Das externe Zubehör-Framework bietet Unterstützung für die Kommunikation mit externer Hardware verbunden mit einem iOS-basierten Gerät durch die 30-poliger Dock-Anschluss oder kabellos über Bluetooth . Anwendungen, die Unterstützung von externem Zubehör muss sicher sein, ihre zu konfigurieren Info.plist Datei korrekt. Insbesondere müssen Sie die UISupportedExternalAccessoryProtocols Schlüssel zum Deklarieren der spezifischen Hardware-Protokolle, die Ihre Anwendung unterstützt.
Wo werden die Werte für die oben genannten "spezifischen Hardware-Protokolle" dokumentiert? Ich gehe davon aus, dass dies sich auf Bluetooth-Profile bezieht?
FWIW, ich habe heruntergeladen und versucht Apples EADemo App laufen . Es umfasst die Werte com.apple.p1 und com.apple.p2 für die UISupportedExternalAccessoryProtocols Schlüssel. Wenn ich die EADemo-App auf einem iPod touch / iOS8.1.3 der 4. Generation betreibe, werden keine BT-Geräte gefunden. Es sollte den Jawbone-Lautsprecher finden, mit dem es verbunden ist.
Zur Vereinfachung habe ich auch eine sehr kleine Beispiel-App erstellt, die auf EAAccessoryDidConnectNotification-Benachrichtigungen wartet:
%Vor%Wenn ich den Code auf dem iPod Touch starte, werden keine Benachrichtigungen empfangen. Während die App läuft Ich habe den Jawbone-Lautsprecher ausgeschaltet und dann eine Verbindung hergestellt. (Ich kann bestätigen, dass es eine Verbindung herstellt, indem ich Einstellungen- & gt; Bluetooth ansehe).
Ich habe den Schlüssel UISupportedExternalAccessoryProtocols zur App plist hinzugefügt und das Werte-Array leer gelassen und com.apple.p1 und com.apple.p2 (wie in der EADemo-App) hinzugefügt.
Irgendwelche Ideen, was ich vermisse? Wie kann eine iOS App mit einem Bluetooth-Gerät kommunizieren?
TL; DR: Das EA Framework funktioniert nur mit MFi Geräten.
Vom technischen Entwickler-Support von Apple:
Hallo Tom,
Als Antwort auf Ihre Fragen bezüglich der Nutzung des Externals Zubehörrahmen
Q1. Wenn ich versuche, eine programmatische Verbindung zu einem BT-Gerät herzustellen Jedes dieser Profile, die das EA-Framework verwenden, muss das Gerät MFi sein konform? Antwort - ja. Das Accessoire muss ein spezielles implementieren Protokoll zum Identifizieren von Daten, die über das ausgewählte gesendet / empfangen werden sollen Transport als EA unterstützte Daten.
Q2. Als Beispiel kann ich Code schreiben, der das EA-Framework verwendet, um eine Verbindung herzustellen zu einem Bluetooth-Lautsprecher, der nicht MFi-kompatibel ist? Antwort - die meisten Klassische Bluetooth-Lautsprecher verwenden AVRCP / A2DP zum Transport von Audiodaten über Bluetooth mit einem iPhone. Solche Daten sind völlig getrennt von die Daten, die für die Unterstützung externer Zubehörteile markiert sind. Der EA-Rahmen kann nicht verwendet werden, um auf die über AVRCP / A2DP gesendeten Daten zuzugreifen. Einige jedoch Sprecher implementieren einen separaten EA-Datenaustausch, der funktioniert mit einer EA-Framework-Anwendung. Jedoch die direkte Antwort - nein. Ein Die EA Framework-App funktioniert optional mit einem MFI-kompatiblen Zubehör - noch mehr von einer Teilmenge - eine für die Verwendung mit EA entwickelt.
Kommentar - Der Jawbone-Lautsprecher erscheint nicht in UITableView im EADemo Anwendung. Antwort - das ist richtig. Der Jawbone-Lautsprecher ist kein EA Zubehör. Das Nike Fuelband ist jedoch ein EA-Zubehör. Ein wichtige Überlegung - um das EA Framework zu verwenden, müssen Sie damit arbeiten der Zubehöranbieter, um das von der. unterstützte Datenprotokoll zu lernen Zubehör - wie die Daten beim Empfangen und Senden von Daten aussehen.
Tags und Links objective-c iphone ios bluetooth external-accessory