Macos 如何创建mac应用程序,它将始终在后台运行并收集位置信息?

Macos 如何创建mac应用程序,它将始终在后台运行并收集位置信息?,macos,cocoa,launch,daemons,Macos,Cocoa,Launch,Daemons,我需要知道如何创建一个应用程序,它将始终在后台运行,并收集位置信息每10分钟一次。我对启动代理和守护进程了解不多 我读了一些例子,发现Launch Agent只是一个plist文件。我们是否应该每10分钟通过launch Agent启动一次应用程序?如何做到这一点?没有简单的答案;您确实需要阅读或至少熟悉,尤其是“创建登录项”部分 如果您计划创建一个沙盒(appstore)应用程序,这会在一定程度上限制您的选择,但不会太大(对于此类应用程序) 您需要决定后台进程是否需要UI。我想不会,所以我会引

我需要知道如何创建一个应用程序,它将始终在后台运行,并收集位置信息每10分钟一次。我对启动代理和守护进程了解不多


我读了一些例子,发现Launch Agent只是一个plist文件。我们是否应该每10分钟通过launch Agent启动一次应用程序?如何做到这一点?

没有简单的答案;您确实需要阅读或至少熟悉,尤其是“创建登录项”部分

如果您计划创建一个沙盒(appstore)应用程序,这会在一定程度上限制您的选择,但不会太大(对于此类应用程序)

您需要决定后台进程是否需要UI。我想不会,所以我会引导您使用XPC服务或用户代理路由。这些将在
launchd
中注册,
launchd
有大约10亿个不同的选项可供选择进程启动的方式和时间,其中一个选项是定期启动的。有关这些方面的更多信息,请参见
man launchd.plist
,特别是
StartInterval
startcalendanterval


有了这些知识,我建议在互联网和开源搜索中寻找例子。我相信你会发现很多。

你能给我举一个演示如何使用XPC服务的例子吗?如何连接到主应用程序?跟踪位置代码将在主cocoa应用程序或XPC服务中?我对守护进程和XPC一无所知跟踪将由后台服务(登录项、用户代理或XPC服务)完成。阅读指南的第一部分(“背景流程类型”),以确定哪一种适合您的需要。(我现在认为用户代理可能是您最好的选择。)一旦您决定了服务的类型,请遵循该部分中创建服务的详细说明。这是复杂的事情。我在GitHub上搜索了几个非常简单的示例项目;你应该也能做到。