6

iOS設定の「Bluetooth」セクションのリストと同じように、ペアリングされたBluetoothデバイス(iOSデバイス)のリストを次の図に示すように取得する必要があります。ペアリングされたBluetoothデバイスのリストを迅速に取得するにはどうすればよいですか?

enter image description here

それは可能ですか?
このタイプの機能を実行しているアプリはありますか?

私は次のことを試してみました: link1link2link3link4link5link6

が、何も正確なリストを取得することが明らかに私を助けました。私はこれを達成する方法があるべきだと思います。あなたの経験を共有して私を助けてください。 ありがとうございます。

+1

などの一部のiOSアプリケーションを使用して、BLEデバイス広告UUIDを取得することができます無料など – Paulw11

+0

さて、ありがとう。 ペアになっている/接続されているBLEデバイスのリストを作成するためのソリューションとしてのガイドラインを教えてください。 –

+0

@ Paulw11私は、切断されたデバイスをリストするAPIについて知らないので、私も興味があります。接続されたデバイスの場合、[ - retrieveConnectedPeripheralsWithServices:](https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBCentralManager_Class/index.html#//apple_ref/occ/instm/CBCentralManager/retrieveConnectedPeripheralsWithServices: )API。 – allprog

答えて

0

あなたは

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil]; 
[self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:SERVICE_UUID]] 
              options:options]; 

、私の場合には、それは完璧に動作し、あなたが関心のあるサービスのUUIDを見つける必要があり、それは同じサービスUUIDを宣伝する任意のデバイスを見つけるとき、それはで表示されますあなたが上で指摘した画面。このように

ハンドルdidDiscoverperipherel:

-(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI{ 

    _discoveredPeripheral = peripheral; 

    if(![self.mRemoteDevices containsObject:_discoveredPeripheral]) 
    { 
     NSArray *peripherels = [self.centralManager retrievePeripheralsWithIdentifiers:@[_discoveredPeripheral.identifier]]; 
     [self.mRemoteDevices addObject:[peripherels objectAtIndex:0]]; 
    } 
} 
+0

私はペアリングされたリストだけを必要としました。これにはどのUUIDを使用する必要がありますか? –

+0

UUIDだけでデバイスを区別できないように注意してください。 – Zimano

+0

あなたは単にデバイスを取得することはできません、あなたが興味のあるサービスUUIDを持っている必要があります。 – manish

1

あなたが彼らの広告UUIDを持っている場合にのみ、ペアリング/接続されたデバイスのリストを取得することが可能です。

dispatch_queue_t centralQueu = dispatch_queue_create("A_NAME", NULL); 
_centralManager = [[CBCentralManager alloc] 
           initWithDelegate:self 
           queue:centralQueu 
           options: @{CBCentralManagerOptionRestoreIdentifierKey:@"RESTORE_KEY", 
              CBCentralManagerOptionShowPowerAlertKey: @YES}]; 
_ServiceUUIDs = @[[CBUUID UUIDWithString:@"THE_UUID"]] //the array of CBUUIDs which you are looking for 
[_centralManager retrieveConnectedPeripheralsWithServices:_ServiceUUIDs] 

あなたは、あなたが/ペアリング接続されているが、このようなヘッドセット/ハンズなどないレガシーデバイスであるBLEデバイスの詳細を取得することができ、そのようなLightBluenRFConnect

関連する問題