问题描述
我的 Xcode 应用程序 (MyApp) 在 Mojave 中的 AppleEvent SandBoxing 遇到了一个奇怪的问题,该应用程序使用 Applescript 来控制其他 3 个 OSX 应用程序。我找到的所有答案都在谈论让它成功地工作。我只是无法让它在两台计算机上以相同的方式工作。
我能够让它在一台在 Xcode 中运行它的计算机上以及在运行编译后的目标文件时完美运行。它适用于所有三个应用程序,但当我在另一台计算机上尝试时,它适用于其中两个应用程序,但不适用于 Microsoft Excel。
我通过在 Info.plist 文件中添加“隐私 - AppleEvents 发送使用说明”条目来设置 NSAppleEventsUsageDescription,在一台计算机上我得到正确的“MyApp 想要访问控制”消息,我确定,然后添加MyApp 和要控制到“安全和隐私”自动化首选项窗口的应用程序。在一台 Mojave 计算机上,它非常适合“邮件”、我的会计程序和“Microsoft Excel”。
在另一台计算机上,它以相同的方式用于“邮件”和我的会计包,但是当它尝试访问“Microsoft Excel”时,我收到“1743 - 未授权将 Apple 事件发送到 Microsoft Excel”消息。 “自动化”窗口中仅显示前两个应用。
我尝试运行“tccutil reset AppleEvents”,它会清除“自动化”窗口中的所有内容并让我再次批准这些内容,但它仍然拒绝在第二台计算机上使用“Microsoft Excel”。
我能看到的唯一区别是 A) 它不工作的计算机的 Excel 14.1.3 版本比工作计算机的 14.0.0 稍新,B) 工作计算机是 Xcode 开发机器.
两台计算机都运行 Mojave 10.14.6,我正在使用 Xcode 11.3.1 进行开发。使用更高版本的 OSX 会很好,我认为安全性更易于使用,但我的会计软件将我限制在 Mojave。
Microsoft Excel 等应用中是否有任何限制或设置可以阻止这种情况?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)