我的 Mac 应用程序使用辅助功能 API 来移动(其他应用程序的)调整大小窗口。
我想将我的应用程序提交到 MAS(Mac App Store)。我已经读过,必须向 MAS 提交应用程序才能打开沙盒。
当我打开沙盒时,我的代码无法通过可访问性 API 找到焦点窗口(始终返回 NULL)。问题是:可访问性 API 不能与沙盒一起使用?
我注意到 Mac App Store 中有使用辅助功能 API 的应用程序,现在不是强制沙盒吗?
提前致谢。
我的 Mac 应用程序使用辅助功能 API 来移动(其他应用程序的)调整大小窗口。
我想将我的应用程序提交到 MAS(Mac App Store)。我已经读过,必须向 MAS 提交应用程序才能打开沙盒。
当我打开沙盒时,我的代码无法通过可访问性 API 找到焦点窗口(始终返回 NULL)。问题是:可访问性 API 不能与沙盒一起使用?
我注意到 Mac App Store 中有使用辅助功能 API 的应用程序,现在不是强制沙盒吗?
提前致谢。
首先,根据我发现的研究,到 2012 年 6 月,Mac Apple Store 上的所有应用程序都将被要求进行沙盒化。不是沙盒不会让您的应用程序面向未来。
其次,我发现了 3 种您可以考虑的策略:
如果您查看文档,您会发现它明确声明您不能对辅助应用程序进行沙箱处理。
以下是他们关于为 Sandbox 准备应用程序的文档的摘录:
在辅助应用程序中使用辅助功能 API
使用 App Sandbox,您可以并且应该启用您的应用程序的可访问性,如可访问性概述中所述。但是,您不能对屏幕阅读器等辅助应用程序进行沙箱处理,也不能对控制另一个应用程序的应用程序进行沙箱处理。
注意:使用 App Sandbox,您可以并且应该启用您的应用程序的可访问性,如本文档中所述。但是,您不能对屏幕阅读器等辅助应用程序进行沙箱处理,也不能对控制另一个应用程序的应用程序进行沙箱处理。
这听起来有点像双说:您应该使您的应用程序可访问,但是您不能沙箱化助手应用程序......