我正在爲iOS編寫一個應用程序,要求應用程序同時宣告iOS iBeacon以及同時宣傳外設服務。有必要公佈該服務,而不是僅僅在外設上發現,因爲用例需要中央(用BLE說法)在被iOS喚醒(但仍然在後臺)由於接近iBeacon而連接到外設。在中央後臺運行的應用只能通過可用服務發現外設,而不是發現所有外設[];我的代碼用於宣傳服務或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 ];
添加兩人在一起,試圖在同一時間不工作,宣傳這兩種服務。它只廣告燈塔,而不是服務:
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 ];
感謝您的參觀!
嗨,你有沒有解決這個問題?我不認爲這是可能的,由於藍牙的能力... – CW0007007