自 有升级了macOS Mojave的朋友吗?Emacs还能不能正常使用了? 继续讨论:
从 macOS Mojave 开始,用 AppleScript 从一个程序控制另一个程序,首先需要用户授权,一般会弹出这样的窗口
但我这边的 Emacs 不会弹出类似的确认窗口,而是直接报错
(do-applescript
"tell application \"Google Chrome\" to get title of active tab of first window")
error-> AppleScript error 1
我用的是官方的 Cocoa Emacs,不清楚 Mac Port 行不行。
还在用 EI Capitan。
不过看这个图标,通过/禁止之后可能会写入 System Preferences > Security & Privacy > Accessibility
,去那里面看看是不是已经存在相关规则了。
Accessibility
里已经允许了 Emacs。macOS 10.14 多了个 Automation
,App A 控制 App B 首先要用户同意。
1 个赞
邮件列表有个问题跟你遇到的一样,楼下 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32888#8
回复说要往 (Emacs) Info.plist 里添加:
<key>NSAppleEventsUsageDescription</key>
<string>Some message</string>
相关链接:
2 个赞
Wow,把这两行加到 Info.plist
后重启 Emacs 就好了。
diff -u --label /Users/xcy/src/emacs/nextstep/Emacs.app/Contents/Info.plist --label \#\<buffer\ Info.plist\> /Users/xcy/src/emacs/nextstep/Emacs.app/Contents/Info.plist /var/folders/7f/s191h4q97p90374yw15ssrs00000gn/T/buffer-content-4FHTBv
--- /Users/xcy/src/emacs/nextstep/Emacs.app/Contents/Info.plist
+++ #<buffer Info.plist>
@@ -675,5 +675,7 @@
</array>
<key>NSAppleScriptEnabled</key>
<string>YES</string>
+ <key>NSAppleEventsUsageDescription</key>
+ <string>Emacs requires permission to send some event to another application.</string>
</dict>
</plist>
Diff finished. Sun Oct 28 17:41:12 2018
2 个赞