我正在使用Nordic BLE nRF8001開發套件來測試CoreBluetooth。使用CBCentralManager的方法(例如didDiscoverPeripheral(),didConnectPeripheral()等)我的iPhone 5能夠檢測北歐設備的廣告並連接到它就好了。但是,我沒有收到來自新的locationManager範圍或regionMonitoring方法的任何響應。下面我將解釋我的設置:locationManager:didRangeBeacons方法未檢測到BLE設備
1.)首先,我使用傳入的外圍設備(我的Nordic設備)從我的Nordic設備在didDiscoverPeripheral()委託方法中檢索到我的NSUUID。我爲我的北歐設備創建了一個自定義服務,因此假設這個外設是北歐設備。要檢索NSUUID我用:
NSUUID *uuid = [peripheral identifier];
NSString *uuidString = [uuid UUIDString]; //uuidString = 9A8D4C73-152D-BBDA-E4C2-9CE952654645
2)接下來,我創建一個燈塔區域爲我北歐設備,並創建CLLocationManager:
self.locationManagerBeacon = [[CLLocationManager alloc] init];
[self.locationManagerBeacon setDelegate:self];
NSUUID *myUUID = [[NSUUID alloc] initWithUUIDString:@"9A8D4C73-152D-BBDA-E4C2-9CE952654645"];
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:myUUID
identifier:@"nordicRegion"];
self.beaconRegion.notifyEntryStateOnDisplay = YES;
3)現在我開始監測信標區域
[self.locationManagerBeacon startRangingBeaconsInRegion:self.beaconRegion];
4)問題:的LocationManager:didRangeBeacons:inRegion被調用,但標區域始終是空的。
問題: 是否需要以某種方式配置北歐BLE設備,以便新的locationManager信標方法能夠檢測到它(例如,BLE廣告頻率,功率級別等)?如果是這樣,有人可以指向我的文檔。
感謝幫助!
所以,愚蠢的問題:你使用的是實際的iBeacon?或者只是一個任意的BTLE設備?只有廣播iBeacon配置文件的BTLE設備纔會被視爲「iBeacon」。 –
我不知道你是否可以分享你的配置/配置文件/示例代碼來設置nrf8001廣告作爲iBeacon。 – joshperry