2014-01-23 15 views
4

這裏是我的代碼:監測多個信標區域沒有工作,但開發人員表示可能嗎?思考? (見我的代碼)

// Initialize and monitor regions 
    for (NSString *serviceUUID in _serviceUUIDs) { 
     // Initialize region 
     NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:serviceUUID]; 
     CLBeaconRegion *appBeaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:SERVICE_IDENTIFIER]; 
     // Specify notifications 
     appBeaconRegion.notifyEntryStateOnDisplay = YES; 
     appBeaconRegion.notifyOnEntry = YES; 
     appBeaconRegion.notifyOnExit = YES; 
     // Add to regions 
     [_appBeaconRegions addObject:appBeaconRegion]; 
     // Begin monitoring region and ranging beacons 
     [_locationManager startMonitoringForRegion:appBeaconRegion]; 
     [_locationManager startRangingBeaconsInRegion:appBeaconRegion]; 
    } 

爲了澄清,「_serviceUUIDs」是包含五個的UUID NSString的的一個NSArray。我正在使用定位iBeacons進行測試,並發現要添加的最後一個區域是唯一被檢測到的區域。它似乎也是唯一受到監視的人。我通過檢查「_locationManager.monitoredRegions」來確定這一點。

這裏有很多線程表示可以監視多個信標區域。任何人都有想法,爲什麼它不適合我?謝謝!

回答

13

可以監視多個區域,但每個區域必須具有獨特identifier。看起來你正在爲每個地區傳遞相同的常數SERVICE_IDENTIFIER。嘗試將其設置爲每個值的唯一值。

+0

我所做的是將UUID,主要和次要值(作爲字符串)連接成一個字符串,並將其用作標識符,其間用逗號字符串。簡單可靠的獨特。如果您沒有創建主要或主要/次要地區,請將您的標識符留出。 –

+0

謝謝你們!有用! –

相關問題