Добавить приложение в «Элементы входа в систему» ​​OSX во время сценария постфлайта установщика Package Maker

Мне нужен способ добавить приложение к элементам входа в систему из сценария после полета, который запускается как часть моего установщика. Надо работать на 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"

Я подозреваю, что тоже могу что-то сделать с запуском. Но я не уверен, какой подход является наилучшей практикой для совместимости между версиями.

ПРИМЕЧАНИЕ: Я НЕ хочу добавлять его, используя некоторый код objective-c внутри моего приложения. Мне нужен установщик, чтобы добавить его. В настоящее время я запускаю приложение после установки, которое затем добавляет его в элементы входа в коде с помощью LSSharedFileListRef ... Пример такого подхода можно найти здесь: Как сделать так, чтобы ваше приложение открывалось при входе в систему?. Причина, по которой это не нормально, заключается в том, что мне нужно установить приложение с помощью Apple Remote Desktop через командную строку на экране входа в систему. Таким образом, приложение не должно запускаться автоматически после установки.

9
задан Community 23 May 2017 в 11:45
поделиться