2017-02-16 53 views
0

我的代碼:iBeacon顯示:notifyOnEntry = NO和notifyOnExit = NO,但委託被稱爲

self.beaconRegion = [[CLBeaconRegion alloc]initWithProximityUUID:UUID identifier:@"com.dtha.ibeacon"]; 
self.beaconRegion.notifyOnEntry = NO; 
self.beaconRegion.notifyOnExit = NO; 
self.beaconRegion.notifyEntryStateOnDisplay = YES; 
[self.locationManager startMonitoringForRegion:self.beaconRegion]; 
[self.locationManager requestStateForRegion:self.beaconRegion]; 

但委託的方法: locationManager:didEnterRegion:locationManager:didExitRegion:被稱爲當我進入該區域並退出區域,我不知道notifyOnEntrynotifyOnExit有什麼作用?

回答

0

你不應該使用

self.beaconRegion.notifyEntryStateOnDisplay = YES; 

隨着.notifyEntryStateOnDisplay設置爲YES當信標開啓的委託調用。

而且

[self.locationManager requestStateForRegion:self.beaconRegion]; 

不應該使用,因爲它會退出燈塔區域時再次調用委託。

我建議你改用:

[self.locationManager startMonitoringForRegion:beaconRegion] 
[self.locationManager startRangingBeaconsInRegion:beaconRegion] 
+0

但即使我刪除self.beaconRegion.notifyEntryStateOnDisplay = YES和[self.locationManager requestStateForRegion:self.beaconRegion]代碼,委託仍叫,我想知道self.beaconRegion.notifyOnEntry = NO和self.beaconRegion.notifyOnExit = NO的含義是什麼意思我認爲我將這些屬性設置爲NO,不應調用該委託。 –