CoreBluetooth Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit.
Klassen
| Name | Beschreibung |
|---|---|
| AdvertisementData |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBAdvertisement |
Schlüssel, die zum Nachschlagen von Wörterbuchwerten aus dem NSDictionary verwendet werden, das als Parameter in DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
| CBAncsAuthorizationUpdateEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBATTErrorExtensions |
Erweiterungsmethoden für die CBATTError Enumeration. |
| CBATTRequest |
Eine Attributprotokollanforderung zum Lesen oder Schreiben. |
| CBATTRequestEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBATTRequestsEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBAttribute |
Klasse, die ein Bluetooth-Gerät eindeutig identifiziert. |
| CBCentral |
Wird verwendet, um Zentrale zu identifizieren (die nicht das aktuelle Gerät sind). |
| CBCentralInitOptions |
Enthält Optionen zum Initialisieren eines zentralen Bluetooth-Managers. |
| CBCentralManager |
Stellt das lokale zentrale Gerät in Bluetooth LE dar. Verwenden Sie cbCentralManager, um Remoteperipheriegeräte zu scannen, zu ermitteln und eine Verbindung herzustellen. |
| CBCentralManagerDelegate |
Delegieren sie Objekte für CBCentralManager Objekte. |
| CBCentralManagerDelegate_Extensions |
Erweiterungsmethoden auf die ICBCentralManagerDelegate Schnittstelle, um alle Methoden aus dem CBCentralManagerDelegate-Protokoll zu unterstützen. |
| CBChannelSoundingProcedureResults |
Enthält die Ergebnisse einer Kanalsounding-Prozedur. |
| CBChannelSoundingProcedureResultsEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBChannelSoundingSessionConfiguration |
Konfiguriert die Rolle, die von einem Peripheriegerät in einer Kanalsoundingsitzung angenommen wird. |
| CBCharacteristic |
Merkmale eines Remoteperipheriegeräts. |
| CBCharacteristicEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBConnectionEventMatchingOptions |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBConnectPeripheralOptions |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBDescriptor |
Eine unveränderliche Beschreibung des Merkmals eines Peripheriegeräts. Siehe auch CBMutableDescriptor. |
| CBDescriptorEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBDiscoveredPeripheralEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBErrorExtensions |
Erweiterungsmethoden für die CBError Enumeration. |
| CBL2CapChannel |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBManager |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBMutableCharacteristic |
Eine stumm veränderbare CBCharacteristic. |
| CBMutableDescriptor |
Eine stumm veränderbare CBDescriptor. |
| CBMutableService |
Eine stumm veränderbare CBService. |
| CBPeer |
Klasse, die ein zentrales oder perhipheres Bluetooth-Gerät darstellt. |
| CBPeripheral |
Stellt ein CoreBluetooth-Peripheriegerät dar. |
| CBPeripheralConnectionEventEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralDelegate |
Delegate-Objekt für CBPeripheral. Stellt Methoden bereit, die für Ereignisse im Zusammenhang mit Ermittlung, Erkundung und Interaktion mit einem Remoteperipheriegerät aufgerufen werden. |
| CBPeripheralDelegate_Extensions |
Erweiterungsmethoden für die ICBPeripheralDelegate Schnittstelle, um alle Methoden aus dem CBPeripheralDelegate-Protokoll zu unterstützen. |
| CBPeripheralDiconnectionEventEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralErrorEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralManager |
Verwaltet veröffentlichte Dienste pro GATT-Datenbank des CBPeripheral Geräts. |
| CBPeripheralManagerDelegate |
Delegate-Objekt für CBPeripheralManager. Fügt Methoden für Ereignisse im Zusammenhang mit Verfügbarkeit, Veröffentlichung, Werbung und Abonnement hinzu. |
| CBPeripheralManagerDelegate_Extensions |
Erweiterungsmethoden für die ICBPeripheralManagerDelegate Schnittstelle, um alle Methoden aus dem CBPeripheralManagerDelegate-Protokoll zu unterstützen. |
| CBPeripheralManagerL2CapChannelOperationEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralManagerOpenL2CapChannelEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralManagerServiceEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralManagerSubscriptionEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralOpenL2CapChannelEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBPeripheralServicesEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBRssiEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBService |
Stellt die Dienste eines Remoteperipheriegeräts dar. |
| CBServiceEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| CBUUID |
Universelle eindeutige IDs für den Bluetooth-Stapel. |
| CBWillRestoreEventArgs |
Stellt Daten für ein Ereignis basierend auf einer Objective-C-Protokollmethode bereit. |
| PeripheralConnectionOptions |
Peripherieverbindungsoptionen. |
| PeripheralScanningOptions |
Mögliche Werte für den Optionsparameter in Aufrufen von ScanForPeripherals(CBUUID[], NSDictionary). |
| RestoredState |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| StartAdvertisingOptions |
Verwaltet den Zugriff auf optionen, die von StartAdvertising(StartAdvertisingOptions). |
Schnittstellen
| Name | Beschreibung |
|---|---|
| ICBCentralManagerDelegate |
Delegieren sie Objekte für CBCentralManager Objekte. |
| ICBPeripheralDelegate |
Delegate-Objekt für CBPeripheral. Stellt Methoden bereit, die für Ereignisse im Zusammenhang mit Ermittlung, Erkundung und Interaktion mit einem Remoteperipheriegerät aufgerufen werden. |
| ICBPeripheralManagerDelegate |
Delegate-Objekt für CBPeripheralManager. Fügt Methoden für Ereignisse im Zusammenhang mit Verfügbarkeit, Veröffentlichung, Werbung und Abonnement hinzu. |
Enumerationen
| Name | Beschreibung |
|---|---|
| CBATTError |
Von einem GATT-Server zurückgegebene Fehler. |
| CBAttributePermissions |
Listet die Lese-, Schreib- und Verschlüsselungsberechtigungen für die Werte eines Merkmals auf. |
| CBCentralManagerFeature |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBCentralManagerState |
Listet mögliche Zustände eines .CBCentralManager |
| CBChannelSoundingSessionConfigurationRole |
Gibt die Rolle an, die von einem Peripheriegerät in einer Kanalsoundingsitzung angenommen wird. |
| CBCharacteristicProperties |
Die möglichen Eigenschaften eines Merkmals. Ein Merkmal kann mehrere Eigenschaften aufweisen. |
| CBCharacteristicWriteType |
Listet die möglichen Typen von Schreibvorgängen auf den Wert eines Merkmals auf. |
| CBConnectionEvent |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBError |
Fehler, die bei Bluetooth LE-Transaktionen möglich sind. |
| CBManagerAuthorization |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBManagerState |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
| CBPeripheralManagerConnectionLatency |
Die Verbindungslatenz der CBPeripheralManager. |
| CBPeripheralManagerState |
Listet die möglichen Zustände der CBPeripheralManager. |
| CBPeripheralState |
Listet die möglichen Verbindungszustände eines .CBPeripheral |
Hinweise
Der CoreBluetooth-Namespace ermöglicht Entwicklern die Arbeit mit Bluetooth Low Energy (Bluetooth LE)-Geräten.
Das Bluetooth LE-Modell dreht sich um CBPeer Objekte. Es gibt zwei Arten von CBPeerObjekten, CBCentral die Daten scannen und nutzen, und CBPeripheral Objekte, die mit Daten bereitgestellten Bluetooth LE-Geräten entsprechen.
Im Allgemeinen befindet sich das iOS-Gerät in der CBCentral Rolle, aber es ist auch möglich, Apps zu erstellen, in denen es sich um ein CBPeripheralGerät handelt.
Das folgende Beispiel zeigt das typische Initialisierungsverhalten einer App, die Daten von externen Bluetooth LE-Geräten verwendet. Anwendungen, die über ein CBCentral zugehörigen CBCentralManagerDelegate Delegatobjekt verfügen und die UpdatedState Methode überschreiben müssen. Die Außerkraftsetzung muss den Status des CBCentralManager Und bestätigen, dass dies der Wert ist PoweredOn.
In der Regel möchten Anwendungen nach Bluetooth LE-Peripheriegeräten suchen. Dies ist eine energiereiche Funktion, sodass Entwickler nach der Suche, an der CBPeripheral sie interessiert sind, oder nach einer bestimmten Zeitspanne aufrufen StopScan sollten.
public class MySimpleCBCentralManagerDelegate : CBCentralManagerDelegate
{
override public void UpdatedState (CBCentralManager mgr)
{
if (mgr.State == CBCentralManagerState.PoweredOn) {
//Passing in null scans for all peripherals. Peripherals can be targeted by using CBUIIDs
CBUUID[] cbuuids = null;
mgr.ScanForPeripherals (cbuuids); //Initiates async calls of DiscoveredPeripheral
//Timeout after 30 seconds
var timer = new Timer (30 * 1000);
timer.Elapsed += (sender, e) => mgr.StopScan();
} else {
//Invalid state -- Bluetooth powered down, unavailable, etc.
System.Console.WriteLine ("Bluetooth is not available");
}
}
public override void DiscoveredPeripheral (CBCentralManager central, CBPeripheral peripheral, NSDictionary advertisementData, NSNumber RSSI)
{
Console.WriteLine ("Discovered {0}, data {1}, RSSI {2}", peripheral.Name, advertisementData, RSSI);
}
}
public partial class HelloBluetoothCSharpViewController : UIViewController
{
MySimpleCBCentralManagerDelegate myDel;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
//Important to retain reference, else will be GC'ed
myDel = new MySimpleCBCentralManagerDelegate ();
var myMgr = new CBCentralManager (myDel, DispatchQueue.CurrentQueue);
}
//...etc...
}
Die DiscoveredPeripheral Methode kann mehrmals für ein einzelnes physisches Gerät aufgerufen werden. Sobald Anwendungsentwickler über einen Verweis auf die CBPeripheral interessierten Benutzer verfügen, sollten sie diese Referenz für weitere Arbeiten und Anrufe StopScanbeibehalten.
Mit einem Verweis auf eine ermittelte CBPeripheral, können Entwickler dann eine Verbindung damit herstellen, wie im folgenden Beispiel gezeigt.
A CBPeripheral hat null oder mehr CBServices, von denen jede null oder mehr CBCharacteristics hat. Wenn das Merkmal eine Maßeinheit (z. B. Takt, Zeit, Temperatur usw.) darstellt, befindet sich der Wert in der Value Eigenschaft.
public class SimplePeripheralDelegate : CBPeripheralDelegate
{
public override void DiscoveredService (CBPeripheral peripheral, NSError error)
{
System.Console.WriteLine ("Discovered a service");
foreach (var service in peripheral.Services) {
Console.WriteLine (service.ToString ());
peripheral.DiscoverCharacteristics (service);
}
}
public override void DiscoveredCharacteristic (CBPeripheral peripheral, CBService service, NSError error)
{
System.Console.WriteLine ("Discovered characteristics of " + peripheral);
foreach (var c in service.Characteristics) {
Console.WriteLine (c.ToString ());
peripheral.ReadValue (c);
}
}
public override void UpdatedValue (CBPeripheral peripheral, CBDescriptor descriptor, NSError error)
{
Console.WriteLine ("Value of characteristic " + descriptor.Characteristic + " is " + descriptor.Value);
}
public override void UpdatedCharacterteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, NSError error)
{
Console.WriteLine ("Value of characteristic " + characteristic.ToString () + " is " + characteristic.Value);
}
}
//...
mgr = new CBCentralManager (myCentralDelegate, DispatchQueue.CurrentQueue);
mgr.ConnectedPeripheral += (s, e) => {
activePeripheral = e.Peripheral;
System.Console.WriteLine ("Connected to " + activePeripheral.Name);
if (activePeripheral.Delegate == null) {
activePeripheral.Delegate = new SimplePeripheralDelegate ();
//Begins asynchronous discovery of services
activePeripheral.DiscoverServices ();
}
};
//Connect to peripheral, triggering call to ConnectedPeripheral event handled above
mgr.ConnectPeripheral (myPeripheral);