Как сделать скрипт, который не спрашивает разрешения каждый раз, когда он открывается
Я сделал яблочный скрипт, который снимает людей, использующих PhotoBooth. Однако каждый раз, когда я открываю его, он запрашивает разрешение на использование PhotoBooth вместо мгновенного фотографирования. Я уже установил [Безопасность и конфиденциальность> Конфиденциальность> Автоматизация> Разрешить сценарию использовать PhotoBooth], но он все равно каждый раз запрашивает разрешение на использование PhotoBooth. Есть ли способ исправить это, не загружая что-либо и не меняя сценарий? Спасибо!
1 ответ
Ваш скрипт сохранен как апплет? Хотя 10.14 запоминает предыдущие предоставленные пользователем разрешения, он будет запрашивать каждый раз при изменении сценария. Традиционные апплеты AppleScript реализуют базовый механизм персистентности, который сохраняет текущее состояние переменных верхнего уровня скрипта при выходе. Обсуждение здесь:
https://forum.latenightsw.com/t/mojave-and-applescript-applets/1563/13
Один быстрый прием для избежания любого постоянного состояния:
script MyScript
-- original code goes here…
end script
on run
local tempScript
copy MyScript to tempScript
run tempScript
end run
Если вам нужно сохранить состояние (например, пользовательские настройки) между запусками, то вам нужно либо подписать код апплета, либо использовать альтернативный механизм (например, NSUserDefaults
через AppleScript-ObjC).