CoreBluetooth Namespace

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);