Мне нужен способ добавить приложение к элементам входа из сценария postflight, который запускается как часть моего установщика. Надо работать на 10.5+. Желательно, чтобы это работало в сценарии bash. Мое приложение уже требует прав администратора.
Подход, который я нашел здесь: Элементы входа в Mac OS с аргументами?, казалось, на правильном пути (см. ниже) ... но не сработало, когда я попробовал его в командной строке, и я не уверен, как установить его для всех пользователей или мне нужно добавить логику, чтобы проверить, добавлен ли он уже для запуска элементов перед вызовом этого кода.
#!/bin/bash
/usr/bin/osascript -e "tell application \"System Events\" to make new login item with properties { path: \"$1\", hidden:false } at end"
Подозреваю, что мог бы тоже что-нибудь сделать с launchd. Но я не уверен, какой подход лучше всего подходит для совместимости между версиями.
ПРИМЕЧАНИЕ. Я НЕ хочу добавлять его с помощью кода objective-c в моем приложении. Мне нужен установщик, чтобы добавить его. В настоящее время я запускаю приложение после установки, которое затем добавляет его в элементы входа в коде с помощью LSSharedFileListRef ... Пример такого подхода можно найти здесь: Как сделать так, чтобы ваше приложение открывалось при входе в систему?. Причина, по которой это не нормально, заключается в том, что мне нужно установить приложение с помощью Apple Remote Desktop через командную строку на экране входа в систему. Таким образом, приложение не должно запускаться автоматически после установки.