開発ツール (/Developer/Applications/Utilities/Bluetooth/) の Bluetooth Explorer アプリを使用すると、デバイスのシンプル ペアリングをオフにすることができます。(アプリを実行し、メニュー項目: [ユーティリティ] > [ローカル デバイス情報を取得] を選択し、[シンプル ペアリング] タブをクリックします)。
サードパーティのアプリケーションはどのようにこれを行いますか?
開発ツール (/Developer/Applications/Utilities/Bluetooth/) の Bluetooth Explorer アプリを使用すると、デバイスのシンプル ペアリングをオフにすることができます。(アプリを実行し、メニュー項目: [ユーティリティ] > [ローカル デバイス情報を取得] を選択し、[シンプル ペアリング] タブをクリックします)。
サードパーティのアプリケーションはどのようにこれを行いますか?
プライベートなものを使用してもかまわない場合は、次のようにすることができます。
typedef void* BluetoothHCIRequest;
OSStatus BluetoothHCIRequestCreate(BluetoothHCIRequest* outHandle, int timeOut, void* unknownOut, int alwaysZero);
void BluetoothHCIRequestDelete(BluetoothHCIRequest hciRequest);
OSStatus BluetoothHCIWriteSimplePairingMode(BluetoothHCIRequest hciRequest, BOOL onOff);
#define HCI_TIMEOUT (3000)
void SetSimplePairing(BOOL on)
{
BluetoothHCIRequest hciRequest = nil;
if ( BluetoothHCIRequestCreate(&hciRequest, HCI_TIMEOUT, nil, 0) == noErr && hciRequest )
{
OSStatus err = BluetoothHCIWriteSimplePairingMode(hciRequest, on);
if (err)
{
NSLog(@"BluetoothHCIWriteSimplePairingMode: %d", err);
}
BluetoothHCIRequestDelete(hciRequest);
}
else
{
NSLog(@"BluetoothHCIRequestCreate failed");
}
}