3

正如互联网上的许多消息来源所说,您需要将您的应用程序沙盒化才能在 App Store 中部署它。

此外,根据this ,沙盒时无法使用可访问性 api (AXUIElement.h) 。

但是,一些应用程序似乎仍然使用此 api。这些应用程序之一是 Cinch。在 Cinch 的安装过程中,您需要授予 Cinch 使用辅助功能 API 的权限,因此很明显他们正在使用此 API。

使用以下命令从应用商店签出二进制文件后:

codesign --display --entitlements - /Applications/Cinch.app

似乎该应用程序没有被沙盒化:

Executable=/Applications/Cinch.app/Contents/MacOS/Cinch

(输出中的唯一行)。

所以我的问题是,如何规避这个要求。您是否需要与 Apple 谈判才能实现这一目标?有特殊规定吗?你需要贿赂员工吗?还是我的终端命令错误?

4

2 回答 2

3

Irradiated 于 2011 年将 Cinch 提交到 App Store,然后才需要沙盒,此后没有进行任何实质性更新。一旦他们添加了新功能或特性,他们就需要对应用程序进行沙盒处理。

苹果在 2012 年 2 月写信给开发者:

从 2012 年 6 月 1 日开始,如果您在 Mac App Store 上有一个未沙盒化的现有应用程序,您仍然可以提交错误修复更新而不对您的应用程序进行沙盒化。此外,如果您有技术问题阻止您在 6 月 1 日之前对您的应用进行沙盒化,请告诉我们。

2012 年 5 月:

如果您在 Mac App Store 上有一个未沙盒化的现有应用程序,您仍可以在 6 月 1 日之后提交错误修复更新。

于 2014-03-31T12:28:07.973 回答
1

来自 App Store 的应用程序没有被沙盒化是相当令人惊讶的。

如果您不开发竞争应用程序,也许您可​​以直接与他们联系。也许他们会告诉你他们是如何做到的。您也可能会在更短的时间内得到答案,因为(至少在我看来)没有多少开发人员会这样做。

http://www.irradiatedsoftware.com/about/

于 2014-03-30T23:58:51.063 回答