私は、アプリケーションがiOS iBeaconと周辺サービスを同時に広告する必要があるiOS用アプリケーションを作成しています。 iBeaconとの近接性のためにiOSによって目覚めた後(ただしバックグラウンドのままでも)、ユースケースが中央(BLE用語で)周辺機器に接続する必要があるため、サービスは周辺機器で簡単に検出可能であることが宣伝されている必要があります。セントラルでバックグラウンドで実行されているアプリは、すべての周辺機器を検出するのではなく、利用可能なサービスで周辺機器を検出できます。私のコードは、サービスまたはiBeaconのいずれかを宣伝するために働いていますが、私は同時に両方を行う方法を理解していません。 iBeaconは38bytesの空き領域のうち21bytesを使用する可能性があり、ビーコンだけでなくサービスも宣伝するためのスペースが不足している可能性があります。iOS CoreBluetooth/iBeacon:iBeaconと周辺サービスを同時にアドバタイズする
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid
major:1
minor:1
identifier:@"bentboolean"];
NSMutableDictionary *dict = [[self.beaconRegion peripheralDataWithMeasuredPower:nil] mutableCopy];
[self.peripheralManager startAdvertising:dict ];
この作品(サービス):
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:@[serviceUUID] forKey:CBAdvertisementDataServiceUUIDsKey];
[self.peripheralManager startAdvertising:dict ];
は動作しません同時に両方のサービスを宣伝しようとすると、2つの追加
は、これは(ビーコン)動作します。サービスではなく、ビーコンのみを宣伝します。
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid
major:1
minor:1
identifier:@"bentboolean"];
NSMutableDictionary *dict = [[self.beaconRegion peripheralDataWithMeasuredPower:nil] mutableCopy];
[dict setValue:@[serviceUUID] forKey:CBAdvertisementDataServiceUUIDsKey];
[self.peripheralManager startAdvertising:dict ];
ありがとうございました!
こんにちは、これを修正しましたか?私はそれがBluetoothの能力のために可能だったとは思わなかった... – CW0007007