【发布时间】:2026-02-05 22:10:01
【问题描述】:
我正在开发一个应用程序,它使用 ibeacon 来确定用户是否进入了特定区域。 现在我正在使用 CoreLocation 框架来实现这个基于地理围栏的功能。 我已经阅读了下面的文件。 https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html 苹果在其中说: “在 iOS 中,您在位置管理器中注册的区域在应用程序启动之间保持不变。如果在您的 iOS 应用程序未运行时发生区域交叉,系统会在后台自动将其唤醒(或重新启动),以便它可以处理事件。重新启动后,您之前配置的所有区域都将在您创建的任何位置管理器对象的受监视区域属性中可用。"
在 ios 7 之前我发现这是真的。 从 ios 7 开始,应用程序将从后台唤醒,但实际上不再可以从终止状态重新启动(从任务管理器中滑出,通过双击主页按钮显示)。 如果是因为苹果的政策,为什么苹果不更新上述官方文档? 所以我正在考虑一个 ios7 的错误,因为提醒应用程序(一个内置应用程序)也没有在 ios7 中重新启动,即使它在 ios6 中重新启动。 这个问题是由于 Apple 的政策造成的吗?还是ios7的bug? 我花了 2 天多的时间在谷歌上寻找解决方案。 对这个问题有什么想法吗?
【问题讨论】:
标签: ios7 background ibeacon geofencing location-based