Я сделал сценарий Apple, который фотографирует людей с помощью PhotoBooth. Однако каждый раз, когда я его открываю, он запрашивает разрешение на использование PhotoBooth вместо мгновенной фотосъемки. Я уже установил [Безопасность и конфиденциальность > Конфиденциальность > Автоматизация > Разрешить скрипту использовать PhotoBooth], но он по-прежнему каждый раз предлагает мне разрешить PhotoBooth. Есть ли способ исправить это, ничего не загружая и не меняя сценарий? Спасибо!
Как сделать скрипт, который не спрашивает разрешения при каждом открытии
comment
как вы установили [Безопасность и конфиденциальность › Конфиденциальность › Автоматизация › Разрешить скрипту использовать PhotoBooth]? Я работаю в приложении, которое использует appleScript, но оно не работает в Мохаве. это не изолированное приложение, и я также добавил NSAppleEventsUsageDescription в файл .plist, но все же я не могу получить само всплывающее окно разрешения.
- person Krishna Maru   schedule 01.05.2019
Ответы (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).
person
foo
schedule
12.10.2018
Большое спасибо! Сработала с первой попытки. Мне не нужны были какие-либо состояния сохранения, поэтому код работал с первой попытки :)
- person yuwe; 14.10.2018