0

当用户位于特定位置时,我正在使用后台地理位置来安排本地通知。

由于这些通知链接到商业操作,我有一个日期,存储在 userdefaults 中以管理当我应该在其他操作时禁用后台地理位置。

我不希望用户必须启动应用程序才能禁用重大更改监控。

所以我尝试直接在,stopMonitoringSignificantLocationChanges但它不接缝工作。CLLocationManagerlocationManager:didUpdateToLocation:fromLocation:

有什么建议吗?这个问题的最佳实践是什么?

谢谢。

4

1 回答 1

0

鉴于后台应用程序或未运行的应用程序的道路规则,您的双手在这里有些束缚。

如果您想在不与用户进行任何交互的情况下禁用位置,这是您唯一的选择。

每次您的用户的位置从后台更新时,您的位置管理器代表都会收到此更新。你在这里没有得到很多处理能力,所以保持简短和甜蜜或注册一个长期运行的后台任务,检查你的日期,如果你完成了位置,在那里调用停止监控调用,重置任何数据或标志在您的用户默认值中,您就完成了。

如果您从本地通知触发,用户将需要单击打开按钮来执行任何操作。您肯定可以从后台位置委托方法中触发通知。但这是您在没有用户交互的情况下自动化任何事情的唯一途径。你在那里做什么取决于你。检查位置更新并从后台委托方法将其关闭没有问题。

于 2012-12-20T17:09:11.467 回答