0

我将我的应用程序从 1.0 版更新到 1.1 版,并在一周前向 Apple 提交了我的 iPhone 应用程序。几分钟前,我从 Apple 收到了这份报告

我们发现您的应用使用了一个或多个非公共 API,这不符合 App Store 审核指南。不允许使用非公共 API,因为如果这些 API 发生更改,可能会导致糟糕的用户体验。

我们在您的应用中发现了以下非公共 API setContentToHTMLString:.

如果您在源代码中定义了与上述 API 同名的方法,我们建议您更改方法名称,以便它们不再与 Apple 的私有 API 冲突,以避免您的应用程序在以后的提交中被标记。

此外,一个或多个上述 API 可能驻留在应用程序随附的静态库中。如果您无权访问该库的源代码,则可以使用“strings”或“otool”命令行工具搜索已编译的二进制文件。“strings”工具可以输出库调用的方法列表,“otool -ov”将输出Objective-C类结构及其定义的方法。

这些技术可以帮助您缩小有问题的代码所在的位置。

请告诉我,如何解决它?

4

3 回答 3

10

如果您正在使用:

setContentToHTMLString

不要再使用它,如果它是私有 API 方法并且 Apple 不希望您使用它

于 2012-04-18T11:32:19.503 回答
3

如果您使用的是私有 API 中的方法,那么您将不得不找到一个替代函数。来自图书馆或自己编写。

如果您编写了一个名为 setContentToHTMLString 的函数,则重命名该函数(您可能希望为其添加前缀 - 也许是 mySetContentToHTMLString)并将所有用法更改为您的新名称。

然后你就可以重新提交了。

于 2012-04-18T11:34:05.320 回答
1

setContentToHTMLString是一种未记录的方法UITextView。您可能需要将其删除。不允许您访问私有 API。

于 2012-04-18T11:36:51.017 回答