Как создать файл.plist в /Library/LaunchAgents

Я пытаюсь разработать агент запуска для MacOS через Apple Doc

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];

Вероятно, причина в проблеме привилегий. У вас есть идеи для решения этой проблемы?

1 ответ

Что касается привилегий, plist должен принадлежать пользователю root, и если вы хотите, чтобы приложение запускалось от имени другого пользователя, вы можете легко сделать это, указав имя пользователя / пароль в plist. Ваше приложение, вероятно, не работает от имени пользователя root.

Другие вопросы по тегам