2012-08-07 4 views
9

Die CBCentralManager retrieveConnectedPeripherals Methode sagt, es bekommt "die Liste der Peripheriegeräte derzeit mit dem System verbunden." Die Definition des Systems ist hier ein wenig mehrdeutig.Was genau ist ein BLE-verbundenes Gerät auf iOS?

Bedeutet dies, dass ich eine Liste der mit meiner App verbundenen Peripheriegeräte oder eine Liste von Peripheriegeräten, die mit einer beliebigen App verbunden sind, erhalte?

Wenn ich Peripheriegeräte mit einer anderen App verbinden kann, bedeutet dies auch, dass mehrere Apps eine Verbindung mit demselben Peripheriegerät herstellen können?

Kann dies nur passieren, wenn die App im Vordergrund ist, oder muss ich die Möglichkeit berücksichtigen, dass eine Hintergrund-App Befehle an ein Peripheriegerät sendet, das meiner App gehört?

+1

Sehr gute Frage. Ich kann dem Mangel an Dokumentation von Apple zu diesem Framework nicht zustimmen – chwi

Antwort

7

BLE 4.0-fähige Geräte sind normalerweise ungebunden mit CBCentralManager verbunden. Was ist begrenzt und unbegrenzte Verbindung, können Sie davon link wissen. Ein BLE 4.0-fähiges Gerät kann nur mit einem Master-Gerät verbunden werden, wodurch die gesicherte Verbindung verbessert wird. Sie sollten diesem link folgen. Ob im Vordergrund des Hintergrunds, wenn die Verbindung besteht, wird das BLE-Slave-Gerät nicht mit einer anderen App oder einem anderen Gerät verbunden.

+0

Der letzte Teil ist tatsächlich teilweise falsch. BLE-Peripheriegeräte, die mit iOS verbunden sind, stellen eine Verbindung zu mehreren Apps auf demselben System her. Du hast recht, dass sie keine Verbindung zu einem anderen iPhone, iPad usw. herstellen. Wenn du also zwei Apps hast, die dein Peripheriegerät sehen, können sie sich beide damit verbinden. Wir hatten dieses Problem vor einiger Zeit mit zwei unserer Apps, die gleichzeitig das Peripheriegerät steuern, während beide gleichzeitig laufen. – WrightsCS