1

didEnterRegion并且didExitRegion仅在我请求并允许 CoreLocation 始终授权后调用

即使我请求 WhenInUseAuthorization didExit 和 didEnter 也不会被调用

如果我不能调用它,我应该如何触发信标范围?

有什么解决办法吗?

更新

Apple 拒绝了我的应用调用 requestAlwaysAuthorization()

这是我今天早上提交给审核小组的问题:

为了监控信标区域(包括一些 Apple 应用程序在内的许多应用程序中使用的信标的核心功能),您需要让用户允许应用程序访问位置,即使在不使用应用程序时也是如此。我正在使用 .requestAlwaysAuthorization 来启用信标在后台进行监控。为什么不允许这样做?

苹果今天下午在 iTunes Connect 上的回应:

感谢您的反馈意见。但是,iBeacon 功能不需要后台位置。因此,需要在重新提交之前去除背景位置特征。

因此,如果信标应该在后台自动监控区域,但我不能请求后台监控的许可,并且除非我获得许可,否则信标不会在后台监控,那么我应该如何在后台监控区域?

4

3 回答 3

1

你的意思是当应用程序在后台时?如果是这样,那么确实是这样,didEnterRegion并且didExitRegion不会仅使用 WhenInUseAuthorization 来调用。只有当您的应用程序处于前台并且您进入/退出一个区域时,它们才会被调用

于 2015-08-05T20:41:09.183 回答
0

iBeacon 功能不需要后台位置。因此,需要在重新提交之前去除背景位置特征。

您的应用似乎因为后台模式(特别是“位置更新”模式)而被拒绝,没有“始终”授权。您不需要为信标监控启用任何后台模式即可在后台工作,“始终”授权就足够了。

只需在您的项目设置中禁用背景模式功能,您应该会很好!

于 2015-08-06T07:34:08.200 回答
0

不幸的是,您必须请求Always Allow位置访问才能使用带有信标的区域监控。

从文档:

重要的

应用程序必须始终具有使用区域监控的授权,并且它们必须配置有位置更新后台模式才能启动。

https://developer.apple.com/documentation/corelocation/determining_the_proximity_to_an_ibeacon

于 2017-12-11T04:23:24.733 回答