我正在构建一个模拟用户输入的应用程序(command+c和command+v)。在进行沙箱之前,一切都很好,但是现在我从控制台得到了这些错误:
首先,当我点燃它时:
5/27/13 1:35:11.980 AM appleeventsd54:一个带有pid 5343、"CopyBoard“签入的沙箱应用程序,但它的代码签名无法验证(因为它损坏了,或者不能被appleeventsd读取),因此它无法接收按名称、包id或签名所针对的AppleEvents。#100013 { "NSDescription"="SecCodeCopyGuestWithAttributes()返回100013,-.“} (handleMessage()/appleEventsD.cp #1755) com.apple.coreservices.appleevents.peer.0x7fa9b0411260.xpcq
然后,当我试图模拟command+c时,我得到:
5/27/13 1:52:22.980 AM WindowServer85: post_filtered_event_tap_data:发件人被禁止合成事件 5/27/13 1:52:23.000 AM内核:沙箱:沙箱(6515)拒绝马赫查找com.apple.coresymbolicationd 5/27/13 1:52:24.252 AM sandboxd6515:(5343) CopyBoard(5343)否认hid控制
我正在寻找一个解决方案,可以让我在沙箱环境中进行全局复制和粘贴。可访问性API有可能是一个很好的答案吗?我的问题与我如何模拟用户输入有关吗?我很困惑,非常感谢你的帮助。
发布于 2013-05-27 02:55:19
沙箱的设计正是为了防止您似乎正在尝试的东西--允许应用程序模拟用户被定义为安全问题。如果您有一个狭窄的需求,可以安全地完成,您可以将其提交给Apple彻底的bug报告,作为对沙箱的必要改进。
由于这个原因,可访问性API一般不受支持--不使用其他应用程序!对于所有使用它的开发者来说,这并不是很好.
您可以在有限的受限情况下使用AppleEvents,并具有适当的权限。
您可能需要访问developer.apple.com,阅读所有的文档/查看视频/等等,看看是否可以实现您的愿望。
我能给你的唯一希望是沙箱是一个移动的目标,所以你可能会发现你可以做的比上面的建议更多。去读吧。祝好运。
https://stackoverflow.com/questions/16764790
复制相似问题