我正在處理監視CLBeaconRegion並在用戶進入/退出區域時向用戶顯示本地通知的應用程序。一切工作正常,但測試時,我發現如果我進入區域,接到調用locationManager:didEnterRegion:然後關閉傳輸信標,我得到了locationManager:didExitRegion的調用:僅在2分鐘左右。locationManager:didExitRegion:發送停止時發生大的延遲
任何人都可以幫助避免這種延遲?
傳輸設備是iOS 4的iPhone 4s。接收設備是iPhone 4s與iOS 7.1.2
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.locationManager requestAlwaysAuthorization];
}
[self.locationManager startMonitoringForRegion:beaconRegion];
...
}
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"%@", NSStringFromSelector(_cmd));
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"%@", NSStringFromSelector(_cmd));
}
謝謝!
但是應用程序正在運行在測試目的前臺。 – Huralnyk
請參閱我編輯的答案。如果您正在監控但未測量,則該問題也適用於前景。 – davidgyoung
非常感謝,男士! – Huralnyk