Приложение запускает привилегированную XP C, очень похожую на SwiftPrivilegedHelper . Для запуска Привилегированных задач сначала мы получаем AuthorizationRef, используя AuthorizationCreate()
AuthorizationCreate(_ rights: UnsafePointer<AuthorizationRights>?, _ environment: UnsafePointer<AuthorizationEnvironment>?, _ flags: AuthorizationFlags, _ authorization: UnsafeMutablePointer<AuthorizationRef?>?) -> OSStatus
, который запускает уведомление об аутентификации, где нам нужно ввести имя пользователя и пароль, и возвращает AuthorizationRef
. После получения AuthorizationRef
мы передать те же AuthorizationRef
в XP C при запуске XP C через SMJobBless()
SMJobBless(_ domain: CFString!, _ executableLabel: CFString, _ auth: AuthorizationRef!, _ outError: UnsafeMutablePointer<Unmanaged<CFError>?>!) -> Bool
XP C используется для запуска привилегированных задач. Теперь я хочу запустить свое приложение в беззвучном режиме без интерфейса, используя терминал. Есть ли способ пропустить предупреждение аутентификации и получить AuthorizationRef
без интерфейса через терминал, используя скрипт оболочки.