我需要知道如何创建一个始终在后台运行并每 10 分钟收集一次位置信息的应用程序。我对启动代理和守护进程了解不多。
我已经阅读了一些示例,其中我发现 Launch 代理只是一个 plist 文件。我们应该每 10 分钟通过启动代理启动应用程序吗?怎么做?
对此没有简单的答案。你真的需要阅读——或者至少熟悉一下——守护进程和服务编程指南,尤其是“创建登录项”部分。
如果您计划创建沙盒(App Store)应用程序,这会在一定程度上限制您的选择,但不会显着(对于此类应用程序)。
您需要决定您的后台进程是否需要 UI。我怀疑不是,所以我会将您引导至 XPC 服务或用户代理路线。这些将在您的流程启动的方式和时间进行注册,launchd
并有大约十亿个不同的选项,其中一个是定期的。launchd
有关这些的更多信息,请参阅man launchd.plist
,特别是StartInterval
和StartCalendarInterval
。
有了这些知识,我建议做一些互联网和开源搜索来寻找例子。我相信你会找到很多。