1

我正在开发一个使用 ibeacon 来确定用户是否进入特定区域的应用程序。现在我正在使用 CoreLocation 框架来实现这个基于地理围栏的功能。我已经阅读了下面的文件。 https://developer.apple.com/library/mac/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html 苹果在其中说:“在 iOS 中,您向位置管理器注册的区域在您的应用程序启动之间持续存在。如果在您的 iOS 应用程序未运行时发生区域交叉,系统会自动将其唤醒(或重新启动它) "

我发现在 ios 7 之前这是真的。从 ios 7 开始,应用程序将从后台唤醒,但实际上不再可以从终止状态重新启动(从任务管理器中滑出,显示为 double - 单击主页按钮)。如果是因为苹果的政策,为什么苹果不更新上述官方文档?所以我正在考虑一个 ios7 的错误,因为提醒应用程序(一个内置应用程序)也没有在 ios7 中重新启动,即使它在 ios6 中重新启动。这个问题是由于 Apple 的政策造成的吗?还是ios7的bug?我花了 2 天多的时间在谷歌上寻找解决方案。对这个问题有什么想法吗?

4

2 回答 2

1

文档已经过时了。这是 iOS7 中的预期行为。苹果制作了一段视频,明确讨论了这一变化。这个想法是,如果用户明确终止应用程序,用户不希望它运行。 看到这个线程。

这有什么大不了的吗?用户真正这样做的频率如何?请记住,如果用户对您的应用感到恼火,他们也可以随时将其卸载。在 iOS6 中确实如此。

于 2014-01-14T14:19:21.853 回答
0

iOS 7.1 推翻了这一政策。也就是说,即使用户杀死了你的应用程序,iOS 仍然会在跨越该区域时启动你的应用程序。

于 2014-04-12T06:01:47.830 回答