Как сделать скрипт, который не спрашивает разрешения каждый раз, когда он открывается - PullRequest
0 голосов
/ 12 октября 2018

Я сделал сценарий яблока, который снимает людей, использующих PhotoBooth.Однако каждый раз, когда я открываю его, он запрашивает разрешение на использование PhotoBooth вместо мгновенного фотографирования.Я уже установил [Безопасность и конфиденциальность> Конфиденциальность> Автоматизация> Разрешить сценарию использовать PhotoBooth], но он все равно каждый раз запрашивает разрешение на использование PhotoBooth.Есть ли способ исправить это, не загружая что-либо и не меняя сценарий?Спасибо!

1 Ответ

0 голосов
/ 12 октября 2018

Ваш скрипт сохранен как апплет?Хотя 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).

...