我以前做过一个启动守护程序,目的是用SMBless
来创建一个特权助手工具.我可以分享我的一些经验.
A
守护进程;它是一个简单的控制台应用程序,结合了plist吗?因为几乎没有关于xcode守护进程开发的教程.如果有代码示例参考,你能在这里分享吗?
以下是我发现有用的一些资源:
- 伍迪Cocoa: implement a privileged Helper岁了.本文介绍了创建启动守护程序并将其作为特权助手工具启动的低级别、分步过程.如果您不需要特权执行,那么步骤大致相同,但没有
SMJobBless
部分.
- SwiftAuthorizationSample显示了 case SecureXPC(基于
Codable
的快速XPC通信框架)和Blessed(SMJobBless和AuthorizationServices框架的快速现代接口框架).它处理了#1的许多复杂性.
- 苹果的后台程序 and Services Programming Guide
B
可以从应用store 下载守护程序吗?因为肯定有一款软件我可以通过app store提供给每个人.是否像其他应用store 应用一样自动安装?如果有人有经验并能分享,我将不胜感激.
不会.你会将它们作为应用程序的一部分分发,并在需要时让应用程序安装它们.
我正在开发一个与将屏幕镜像到android手机相关的api.你认为守护进程可以完全访问WiFi/BLE和屏幕捕获API吗?
WiFi当然可以,但我不确定屏幕捕获API.launch Agent和守护进程(IIRC)之间的区别之一是,只有launch Agent可以连接到Windows服务器,我认为这对于屏幕捕获API是必要的.
从Technical Note TN2083 – 后台程序 and 代理人开始:
后台程序
守护进程是作为整个系统的一部分在后台运行的程序(也就是说,它不与特定用户绑定).守护进程不能显示任何GUI;更具体地说,不允许连接到Windows服务器.web服务器是守护进程的完美例子.
...
代理人
代理是代表特定用户在后台运行的进程.代理很有用,因为它们可以做守护进程无法做的事情,比如可靠地访问用户的主目录或连接到Windows服务器.日历监控程序是代理的一个很好的例子,因为: