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
AdvertisementData |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
CBAdvertisement |
Schlüssel, die zum Suchen von Wörterbuchwerten aus dem NSDictionary als Parameter in DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber)verwendet werden. |
CBATTErrorExtensions |
Erweiterungsmethoden für die CoreBluetooth.CBATTError-Enumeration. |
CBATTRequest |
Eine Attributprotokollanforderung zum Lesen oder Schreiben. |
CBATTRequestEventArgs |
Stellt Daten für das ReadRequestReceived-Ereignis bereit. |
CBATTRequestsEventArgs |
Stellt Daten für das WriteRequestsReceived-Ereignis 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 zum Scannen, Ermitteln und Herstellen einer Verbindung mit Remoteperipheriegeräten. |
CBCentralManagerDelegate |
Delegieren von Objekten für CBCentralManager Objekte. |
CBCentralManagerDelegate_Extensions |
Erweiterungsmethoden für die ICBCentralManagerDelegate Schnittstelle, um alle Methoden aus dem CBCentralManagerDelegate Protokoll zu unterstützen. |
CBCharacteristic |
Merkmale eines Remoteperipheriegeräts. |
CBCharacteristicEventArgs |
Stellt Daten für , WroteCharacteristicValueE:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue bereit, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState and E: CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue-Ereignisse. |
CBDescriptor |
Eine unveränderliche Beschreibung des Merkmals eines Peripheriegeräts. Siehe auch CBMutableDescriptor. |
CBDescriptorEventArgs |
Stellt Daten für die WroteDescriptorValue Ereignisse E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue bereit. |
CBDiscoveredPeripheralEventArgs |
Stellt Daten für das DiscoveredPeripheral-Ereignis bereit. |
CBErrorExtensions |
Erweiterungsmethoden für die CoreBluetooth.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 veränderbare CBCharacteristic. |
CBMutableDescriptor |
Ein veränderbarer T:Corebluetooth.CBDescriptor. |
CBMutableService |
Eine veränderbare CBService. |
CBPeer |
Klasse, die ein zentrales oder perhiphäres Bluetooth-Gerät darstellt. |
CBPeripheral |
Stellt ein CoreBluetooth-Peripheriegerät dar. |
CBPeripheralDelegate |
Delegatobjekt für CBPeripheral. Stellt Methoden bereit, die für Ereignisse im Zusammenhang mit der Ermittlung, Untersuchung 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. |
CBPeripheralErrorEventArgs |
Stellt Daten für die FailedToConnectPeripheralE:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral bereit. |
CBPeripheralEventArgs |
Stellt Daten für das ConnectedPeripheral-Ereignis bereit. |
CBPeripheralManager |
Verwaltet veröffentlichte Dienste gemäß der GATT-Datenbank des T:Coreblutooth.CBPeripheral-Geräts . |
CBPeripheralManagerDelegate |
Delegatobjekt 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 die DidUnpublishL2CapChannelE:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel-Ereignisse bereit. |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Stellt Daten für das DidOpenL2CapChannel-Ereignis bereit. |
CBPeripheralManagerServiceEventArgs |
Stellt Daten für das ServiceAdded-Ereignis bereit. |
CBPeripheralManagerSubscriptionEventArgs |
Stellt Daten für die CharacteristicUnsubscribedE:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed-Ereignisse bereit. |
CBPeripheralOpenL2CapChannelEventArgs |
Stellt Daten für das DidOpenL2CapChannel-Ereignis bereit. |
CBPeripheralServicesEventArgs |
Stellt Daten für das ModifiedServices-Ereignis bereit. |
CBPeripheralsEventArgs |
Stellt Daten für die RetrievedPeripheralsE:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals bereit. |
CBRssiEventArgs |
Stellt Daten für das RssiRead-Ereignis bereit. |
CBService |
Stellt die Dienste eines Remoteperipheriegeräts dar. |
CBServiceEventArgs |
Stellt Daten für die DiscoveredIncludedServiceE:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService bereit. |
CBUUID |
Universelle eindeutige Bezeichner für den Bluetooth-Stapel. |
CBWillRestoreEventArgs |
Stellt Daten für die WillRestoreStateE:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState bereit. |
PeripheralConnectionOptions |
Verbindungsoptionen für Peripheriegeräte. |
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 M:CoreBluetooth.StartAdvertising* -Methode verwendet werden. |
Schnittstellen
ICBCentralManagerDelegate |
Schnittstelle, die die erforderlichen Methoden (falls vorhanden) des Protokolls CBCentralManagerDelegatedarstellt. |
ICBPeripheralDelegate |
Schnittstelle, die die erforderlichen Methoden (falls vorhanden) des Protokolls CBPeripheralDelegatedarstellt. |
ICBPeripheralManagerDelegate |
Schnittstelle, die die erforderlichen Methoden (falls vorhanden) des Protokolls CBPeripheralManagerDelegatedarstellt. |
Enumerationen
CBATTError |
Von einem GATT-Server zurückgegebene Fehler. |
CBAttributePermissions |
Listet die Lese-, Schreib- und Verschlüsselungsberechtigungen für die Werte eines Merkmals auf. |
CBCentralManagerState |
Listet mögliche Zustände eines auf CBCentralManager. |
CBCharacteristicProperties |
Die möglichen Eigenschaften eines Merkmals. Ein Merkmal kann mehrere Eigenschaften aufweisen. |
CBCharacteristicWriteType |
Listet die möglichen Schreibtypen auf den Wert eines Merkmals auf. |
CBError |
Fehler bei Bluetooth LE-Transaktionen möglich. |
CBManagerState |
Der CoreBluetooth-Namespace stellt Klassen für die Bluetooth-Kommunikation bereit. |
CBPeripheralManagerAuthorizationStatus |
Listet die möglichen Zustände von CBPeripheralManagerauf. |
CBPeripheralManagerConnectionLatency |
Die Verbindungslatenz von CBPeripheralManager. |
CBPeripheralManagerState |
Listet die möglichen Zustände von CBPeripheralManagerauf. |
CBPeripheralState |
Listet die möglichen Verbindungszustände eines auf CBPeripheral. |
Hinweise
Mit dem CoreBluetooth-Namespace können Entwickler mit Bluetooth Low Energy-Geräten (Bluetooth LE) arbeiten.
Das Bluetooth LE-Modell dreht sich um CBPeer Objekte. Es gibt zwei Arten von CBPeerObjekten: CBCentral Objekte, die Daten scannen und nutzen, die von Objekten bereitgestellt werden CBPeripheral , die Daten bereitstellenden Bluetooth LE-Geräten entsprechen.
Im Allgemeinen ist das iOS-Gerät in der CBCentral Rolle, aber es ist auch möglich, Apps zu erstellen, in denen das Gerät ein CBPeripheralist.
Das folgende Beispiel zeigt das typische Initialisierungsverhalten einer App, die Daten von externen Bluetooth LE-Geräten nutzt. Anwendungen, die über ein CBCentral verfügen, müssen über ein zugeordnetes CBCentralManagerDelegate Delegatobjekt verfügen und dessen Methode überschreiben UpdatedState . Die Überschreibung muss den Zustand des CBCentralManager überprüfen und bestätigen, dass es ist PoweredOn.
In der Regel möchten Anwendungen nach Bluetooth LE-Peripheriegeräten suchen. Dies ist eine hochenergetischen Funktion, daher sollten Entwickler M:CoreBluetooth.CBManager.StopScan* aufrufen, nachdem sie den CBPeripheral gefunden haben, an dem sie interessiert sind, oder nach einer bestimmten Zeit.
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 für ein einzelnes physisches Gerät mehrmals aufgerufen werden. Sobald Anwendungsentwickler über einen Verweis auf den verfügen, an dem CBPeripheral sie interessiert sind, sollten sie diese Referenz für weitere Arbeiten beibehalten und aufrufen StopScan.
Mit einem Verweis auf einen ermittelten CBPeripheralkönnen Entwickler dann eine Verbindung mit diesem herstellen, wie im folgenden Beispiel gezeigt.
A CBPeripheral hat null oder mehr CBServices, von denen jede null oder mehr CBCharacteristics hat. Wenn das Merkmal ein Maß darstellt (z. B. Takt, Zeit, Temperatur usw.), 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);