如何制作一个在每次打开时都不要求许可的脚本

时间:2018-10-12 02:38:28

标签: applescript macos-mojave system-preferences

我制作了一个苹果脚本,可以使用PhotoBooth为人们拍照。但是,每次我打开它时,它都会征求使用PhotoBooth的许可,而不是立即拍照。我已经设置了[安全和隐私>隐私>自动化>允许脚本使用PhotoBooth],但每次仍然提示我允许PhotoBooth。有什么方法可以解决此问题,而无需下载任何内容或更改我的脚本?谢谢!

1 个答案:

答案 0 :(得分:3)

您的脚本是否另存为applet?虽然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

如果您确实需要在两次运行之间保存状态(例如,用户偏好设置),则您需要对小程序进行代码签名,或者使用其他机制(例如,通过AppleScript-ObjC的NSUserDefaults)。