OS X有一个很好的功能,例如Accessibility API,它允许从您的应用程序代码控制一些系统元素和另一个应用程序。但是在打开Sandbox后它就会停止工作。要向商店提交应用程序,必须启用沙盒。
这就是苹果所说的:
使用App Sandbox,您可以并且应该为您的应用启用辅助功能,如本文档所述。但是,您无法对辅助应用程序(如屏幕阅读器)进行沙盒处理,也无法对控制其他应用程序的应用程序进行沙箱处理。
但App Store有一些使用Accessibility API的应用程序:
所以这意味着可以一起使用Sandbox / Accessibility API / App Store,但是如何使用?
答案 0 :(得分:6)
从几年前开始,OS X沙箱中无法使用辅助功能API,但这可能已更改。但是,更有可能的是,这些应用程序设法从Apple获得特殊例外,并且他们有额外的沙盒权利,这些权利部分将其从沙箱中分离出来,足以让他们使用辅助功能API。
你应该做的是首先通过bugreporter.apple.com提交一个错误,告诉你在尝试使用辅助功能和为什么这么做,并要求他们给你一个沙盒例外。如果他们批准异常,他们可能会为您提供一个沙盒配置文件语言代码,可以从(稍微弱化)沙箱中调用辅助功能API。
据说,根据您正在做的事情,如果Apple说“对不起,该应用程序不适合应用程序商店模型,请不要感到惊讶。请使用禁用沙盒的开发人员ID签署您的应用程序,并且将它分发到商店外面。“
答案 1 :(得分:5)
在2012年实施沙盒之前,所有这些应用程序都已在App Store上运行。我自己的HazeOver应用程序也是如此。它只能使用可访问性,因为它仍然没有沙盒。 Apple允许更新这些应用程序,但如果没有沙箱,他们将不接受任何新应用程序。