didEnterRegion
和didExitRegion
仅在我请求后调用并允许CoreLocation的始终授权
即使我请求WhenInUseAuthorization didExit并且不会调用didEnter
如果我不能调用它,我该如何触发信标范围?
任何解决方案?
更新
Apple拒绝了我的应用程序调用requestAlwaysAuthorization()
以下是我今天早上提交给审核小组的问题:
为了监控信标区域(许多应用程序中使用的信标的核心功能,包括一些Apple应用程序),您需要让用户允许应用程序访问位置,即使不使用该应用程序也是如此。我正在使用.requestAlwaysAuthorization来启用信标在后台进行监控。为什么不允许这样做?
苹果今天下午在iTunes Connect上的回应:
感谢您的反馈。但是,iBeacon功能不需要后台位置。因此,有必要在重新提交之前删除背景位置功能。
因此,如果信标应该自动监视后台的区域,但我不能要求许可进行后台监控,并且信标不会在后台进行监控,除非我获得许可,那么我应该如何监控背景??
答案 0 :(得分:1)
你的意思是应用程序在后台吗?如果是这样,那么didEnterRegion
和didExitRegion
不会仅使用WhenInUseAuthorization进行调用。只有当您的应用程序位于前台并且您进入/退出某个区域时,它们才会被调用
答案 1 :(得分:0)
iBeacon功能不需要后台位置。因此,有必要在重新提交之前删除背景位置功能。</ p>
由于背景模式(特别是&#34;位置更新&#34;模式),您的应用似乎被拒绝了,没有&#34;始终&#34;授权。您不需要任何启用背景模式的信标监控才能在后台工作,&#34;始终&#34;授权就足够了。
只需在项目设置中禁用“背景模式”功能,就可以了!
答案 2 :(得分:0)
不幸的是,您必须请求Always Allow
位置访问才能使用信标进行区域监控。
来自文档:
重要
应用必须始终拥有使用区域监控的权限,并且必须使用位置更新后台模式对其进行配置才能启动。
https://developer.apple.com/documentation/corelocation/determining_the_proximity_to_an_ibeacon