我开发了一款具有信标检测功能的应用程序。使用Apple的新更新来检测iOS设备锁定时的信标。即使在应用关闭和iOS设备被锁定时,我的应用实际上也会检测到信标。
但这里的问题是:
当App关闭,并且用户(使用iOS设备)靠近Proximity区域时,这会使应用程序唤醒并调用此函数:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
而不是调用信标接近函数:
-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
在检测到信标接近时发生这种情况时,我无法提醒用户。
我们如何解决此问题。我无法理解为什么它执行“DID FINISH LAUNCHING WITH OPTIONS”。
感谢。
答案 0 :(得分:0)
您必须发布设置CoreLocation的代码才能准确回答正在发生的事情。两个提示:
如果在iOS因iBeacon检测而启动应用程序时完全关闭,- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions
被调用是正常的。
测距通常不会在后台运行,所以我可以理解为什么-(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
可能无法调用。
您只能期望在后台调用监控回调。只有在didFinishLaunchingWithOptions
或监视回调中设置了范围时,才可以获得几秒钟的范围回调。