次の方法で共有


CoreBluetooth 名前空間

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

クラス

AdvertisementData

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

CBAdvertisement

DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber)パラメーターとして受信した NSDictionary からディクショナリ値を参照するために使用されるキー。

CBATTErrorExtensions

Core Bluetooth.CBATTError 列挙の拡張メソッド。

CBATTRequest

読み取りまたは書き込みのための属性プロトコル要求。

CBATTRequestEventArgs

ReadRequestReceived イベントのデータを提供します。

CBATTRequestsEventArgs

WriteRequestsReceived イベントのデータを提供します。

CBAttribute

Bluetooth デバイスを一意に識別するクラス。

CBCentral

中央 (現在のデバイスではない) を識別するために使用されます。

CBCentralInitOptions

Bluetooth セントラル マネージャーを初期化するためのオプションが含まれています。

CBCentralManager

Bluetooth LE のローカル中央デバイスを表します。  CBCentralManager を使用して、リモート周辺機器のスキャン、検出、接続を行います。

CBCentralManagerDelegate

オブジェクトの CBCentralManager デリゲート オブジェクト。

CBCentralManagerDelegate_Extensions

プロトコルからCBCentralManagerDelegateのすべてのメソッドをICBCentralManagerDelegateサポートする インターフェイスへの拡張メソッド。

CBCharacteristic

リモート周辺機器の特性。

CBCharacteristicEventArgs

E:Core Bluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue のデータWroteCharacteristicValueを提供します。 E:Core Bluetooth.CBCharacteristicEventArgs.UpdatedNotificationState および E:Core Bluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue イベント。

CBDescriptor

周辺機器の特性の変更できない説明。 参照 CBMutableDescriptor.

CBDescriptorEventArgs

E:Core Bluetooth.CBDescriptorEventArgs.WroteDescriptorValue イベントのデータWroteDescriptorValueを提供します。

CBDiscoveredPeripheralEventArgs

DiscoveredPeripheral イベントのデータを提供します。

CBErrorExtensions

Core Bluetooth.CBError 列挙の拡張メソッド。

CBL2CapChannel

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

CBManager

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

CBMutableCharacteristic

変更可能な CBCharacteristic

CBMutableDescriptor

変更可能な T:Corebluetooth.CBDescriptor

CBMutableService

変更可能な CBService

CBPeer

中央または一時的な Bluetooth デバイスを表す クラス。

CBPeripheral

Core Bluetooth 周辺機器を表します。

CBPeripheralDelegate

CBPeripheralデリゲート オブジェクト。 リモート周辺機器の検出、探索、および操作に関連するイベントで呼び出されるメソッドを提供します。

CBPeripheralDelegate_Extensions

プロトコルからCBPeripheralDelegateのすべてのメソッドをICBPeripheralDelegateサポートする インターフェイスへの拡張メソッド。

CBPeripheralErrorEventArgs

E:Core Bluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral イベントのデータFailedToConnectPeripheralを提供します。

CBPeripheralEventArgs

ConnectedPeripheral イベントのデータを提供します。

CBPeripheralManager

T:Coreblutooth.CBPeripheral デバイスの GATT データベースごとに公開されたサービスを管理します。

CBPeripheralManagerDelegate

CBPeripheralManagerデリゲート オブジェクト。 可用性、公開、広告、サブスクリプションに関連するイベントのメソッドを追加します。

CBPeripheralManagerDelegate_Extensions

プロトコルからCBPeripheralManagerDelegateのすべてのメソッドをICBPeripheralManagerDelegateサポートする インターフェイスへの拡張メソッド。

CBPeripheralManagerL2CapChannelOperationEventArgs

E:Core Bluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel イベントのデータDidUnpublishL2CapChannelを提供します。

CBPeripheralManagerOpenL2CapChannelEventArgs

DidOpenL2CapChannel イベントのデータを提供します。

CBPeripheralManagerServiceEventArgs

ServiceAdded イベントのデータを提供します。

CBPeripheralManagerSubscriptionEventArgs

E:Core Bluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed イベントのデータCharacteristicUnsubscribedを提供します。

CBPeripheralOpenL2CapChannelEventArgs

DidOpenL2CapChannel イベントのデータを提供します。

CBPeripheralServicesEventArgs

ModifiedServices イベントのデータを提供します。

CBPeripheralsEventArgs

E:Core Bluetooth.CBPeripheralsEventArgs.RetrievedPeripherals イベントのデータRetrievedPeripheralsを提供します。

CBRssiEventArgs

RssiRead イベントのデータを提供します。

CBService

リモート周辺機器のサービスを表します。

CBServiceEventArgs

E:Core Bluetooth.CBServiceEventArgs.DiscoveredIncludedService イベントのデータDiscoveredIncludedServiceを提供します。

CBUUID

Bluetooth スタックのユニバーサル一意識別子。

CBWillRestoreEventArgs

E:Core Bluetooth.CBWillRestoreEventArgs.WillRestoreState イベントのデータWillRestoreStateを提供します。

PeripheralConnectionOptions

周辺機器接続オプション。

PeripheralScanningOptions

の呼び出し ScanForPeripherals(CBUUID[], NSDictionary)で options パラメーターに指定できる値。

RestoredState

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

StartAdvertisingOptions

M:Core Bluetooth.StartAdvertising* メソッドによって使用されるオプションへのアクセスを管理します。

インターフェイス

ICBCentralManagerDelegate

プロトコル CBCentralManagerDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ICBPeripheralDelegate

プロトコル CBPeripheralDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ICBPeripheralManagerDelegate

プロトコル CBPeripheralManagerDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

列挙型

CBATTError

GATT サーバーによって返されるエラー。

CBAttributePermissions

特性の値の読み取り、書き込み、および暗号化のアクセス許可を列挙します。

CBCentralManagerState

の考えられる状態を CBCentralManager列挙します。

CBCharacteristicProperties

特性の可能なプロパティ。 特性には複数のプロパティが含まれる場合があります。

CBCharacteristicWriteType

特性の値に対して可能な書き込みの種類を列挙します。

CBError

Bluetooth LE トランザクション中に発生する可能性のあるエラー。

CBManagerState

Core Bluetooth 名前空間には、Bluetooth 通信用のクラスが用意されています。

CBPeripheralManagerAuthorizationStatus

の考えられる状態を列挙します CBPeripheralManager

CBPeripheralManagerConnectionLatency

の接続待機時間 CBPeripheralManager

CBPeripheralManagerState

の考えられる状態を列挙します CBPeripheralManager

CBPeripheralState

の可能な接続状態を CBPeripheral列挙します。

注釈

Core Bluetooth 名前空間を使用すると、開発者は Bluetooth Low Energy (Bluetooth LE) デバイスを操作できます。

Bluetooth LE モデルは、オブジェクトを中心 CBPeer に回転します。 次の CBPeerCBCentral 2 種類があります。データ提供 Bluetooth LE デバイスに対応するオブジェクトによってCBPeripheral提供されるデータをスキャンして使用するオブジェクト。

一般に、iOS デバイスは ロールに CBCentral 含まれますが、デバイス CBPeripheralが であるアプリを作成することもできます。

次の例は、外部 Bluetooth LE デバイスからのデータを使用するアプリの一般的な初期化動作を示しています。 を持つ CBCentral アプリケーションでは、デリゲート オブジェクトが関連付けられている CBCentralManagerDelegate 必要があり、その UpdatedState メソッドをオーバーライドする必要があります。 オーバーライドは のCBCentralManager状態をチェックし、それが PoweredOnであることを確認する必要があります。

通常、アプリケーションは Bluetooth LE 周辺機器をスキャンする必要があります。 これは高エネルギー関数であるため、開発者は関心のある を見つけたCBPeripheral後、または一定時間後に M:Core Bluetooth.CBManager.StopScan* を呼び出す必要があります。

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... 
}     

メソッドは DiscoveredPeripheral 、1 つの物理デバイスに対して複数回呼び出すことができます。 アプリケーション開発者は、関心のある への CBPeripheral 参照を取得したら、その参照を維持してさらに作業を行い、 を呼び出す StopScan必要があります。

検出された CBPeripheralへの参照を使用すると、開発者は次の例に示すように、それに接続できます。

には CBPeripheral 0 個以上 CBServiceの s があり、それぞれが 0 個以上 CBCharacteristicの s を持っています。 特性が測定値 (ハートビート、時間、温度など) を表す場合、値は プロパティ内 Value にあります。

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