如何在 /Library/LaunchAgents 下创建 .plist 文件



我正在尝试通过Apple Doc为macOS开发启动代理

https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

我的要求之一是代理应该适用于所有用户。我从上面的文档中了解到的是,我必须将我的.plist放在"/Library/LaunchAgents"文件夹下。

当我尝试以编程方式创建此文件时,下面的代码没有任何反应。

NSMutableDictionary *plist = [[NSMutableDictionary alloc] init];
[plist setObject:@"test" forKey: @"test 1"];
NSString *userLaunchAgentsPath = [[NSString alloc] initWithFormat:@"%@",  @"/Library/LaunchAgents/com.xxx.agent.plist"];
    [plist writeToFile:userLaunchAgentsPath atomically:YES];

原因可能是特权问题。你有什么解决这个问题的想法吗?

至于权限,plist应该由root拥有,如果您希望应用程序以其他用户身份运行,您可以通过在plist中提供用户名/密码来轻松做到这一点。您的应用程序可能未以 root 用户身份运行。

最新更新