应用拒绝问题2.5.1:使用非公共API的应用将被拒绝(自iOS10起)

时间:2016-09-19 12:26:22

标签: ios xcode api titanium appcelerator

我们刚从苹果公司拒绝了一些非公开的API“contectId”。自从我升级到最新的Xcode和Titanium SDK(也使用最新的macOS)以来,我唯一做过的就是这个问题。

我知道消息中有步骤,但这是一个Titanium bug还是什么?

-

您好,

感谢您的重新提交。

表现 - 2.5.1

您的应用仍然使用或引用以下非公开API:

关联标识符

App Store上不允许使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验。

后续步骤

请修改您的应用以删除所有非公开API。如果您在源代码中定义了与上述API相同名称的方法,我们建议您更改方法名称,以便它们不再与Apple的私有API发生冲突,以避免在将来的提交中标记您的应用程序。

此外,如果您使用的是第三方库,请更新到这些库的最新版本。如果您无权访问库的源,则可以使用“strings”或“otool”命令行工具搜索已编译的二进制文件。 “strings”工具可以输出库调用的方法列表,“otool -ov”将输出Objective-C类结构及其定义的方法。这些工具可以帮助您缩小有问题的代码所在的位置。您还可以使用“nm”工具验证是否有任何第三方库正在调用这些API。

资源

有关“nm”工具的信息,请参阅“nm工具”Xcode手册页。

如果没有替代方案来提供您的应用所需的功能,您可能希望提交增强请求。

如果您在复制报告的问题时遇到困难,请尝试测试技术Q& A QA1764:如何重现针对App Store提交的错误报告中描述的工作流程。

如果您在使用上述资源后遇到代码级问题,则可以咨询Apple Developer技术支持。当DTS工程师跟进您时,请准备好提供: - 拒绝问题的完整详情 - 截图 - 重现问题的步骤 - 符号化的崩溃日志 - 如果您的问题导致崩溃日志

致以最诚挚的问候,

App Store评论

2 个答案:

答案 0 :(得分:1)

虽然这不是一个真正的Titanium问题而不是苹果检测到误报的问题,但这个问题刚刚在Titanium 5.5.1.GA中修复,谢谢!

答案 1 :(得分:0)

由于这个原因,我还有两个应用更新被拒绝。

在同一时期,我已批准其他人。

被拒绝的两个App更新之间的一个常见项是在我的项目中使用以下属性集:

<property name="run-on-main-thread" type="bool">true</property>