3

对于我正在开发的应用程序,我CGEventPost用来发布一些关键事件,我注意到它在启用沙盒的情况下停止工作,即使我打开了“启用辅助设备访问”系统首选项。

是否有权允许使用CGEventPost? 或者,是否有其他方法可以通过提交到 Mac App Store 的应用发布关键事件?

4

2 回答 2

6

Mac App Store 沙盒应用程序可以使用 CGEventPost 吗?

不。

CGEventPost 有权利吗?或者有什么方法可以通过提交到 Mac App Store 的应用发布关键事件?

不。

如果您查看开发者论坛,Apple 已经明确表示他们永远不会为此启用权利,因为它允许任何应用程序以明显的方式逃离沙箱。

如果您有一些可以证明的更具体的需求(不是“发布一些关键事件”而是“让 iPhoto 对 XXX 进行操作,据我所知,这只能通过在其中发布事件 YYY 来完成”),提交错误报告,并在开发论坛上发布主题。

这将做两件事:

  1. Apple 的某个人可能会建议一种解决方法 - 可能是其他人无法告诉您的私人解决方案和/或 App Store 通常不允许使用但如果您被告知使用它会被接受的解决方案。
  2. 它增加了 Apple 在未来发明一些更好的方法来做你想做的事情的机会。
于 2012-06-07T23:59:40.137 回答
2

老问题,但接受的答案是错误的。Mac App Store 中有一些应用程序使用 CGEventPost 来模拟事件。例如应用程序“Remote Mouse”和“Mobile Mouse Server”就是这样做的。他们可以将输入发送到任何其他应用程序,并且基于这些应用程序中的符号,他们显然正在使用 CGEventPost 函数。我想知道他们是怎么做到的。

于 2013-03-10T20:59:46.160 回答