【问题标题】:App rejection issue 2.5.1: Apps that use non-public APIs will be rejected (Since iOS10)应用拒绝问题 2.5.1:使用非公开 API 的应用将被拒绝(iOS10 起)
【发布时间】:2016-09-19 12:26:21
【问题描述】:

我们刚刚收到 Apple 对某些非公开 API“contectId”的拒绝。自从我升级到最新的 Xcode 和 Titanium SDK(以及最新的 macOS)后,我唯一做的事情就是这成了一个问题。

我知道消息中有步骤,但这是 Titanium 错误还是什么?

--

你好,

感谢您重新提交。

性能 - 2.5.1

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

上下文标识

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

接下来的步骤

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

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

资源

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

如果没有其他方法可以提供您的应用所需的功能,您可能希望提交增强请求。

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

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

最好的问候,

应用商店评论

【问题讨论】:

标签: ios xcode api titanium appcelerator


【解决方案1】:

虽然这并不是真正的 Titanium 问题,而是 Apple 检测误报的问题,但这个问题刚刚在 Titanium 5.5.1.GA 及更高版本中得到修复,谢谢!

【讨论】:

    【解决方案2】:

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

    在同一时期,我还获得了其他人的批准。

    两个被拒绝的应用更新之间的一个共同点是在我的项目中使用了以下属性集:

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

    【讨论】:

    • 酷,我会尝试在没有运行主线程标签的情况下推送它。收到 Apple 的回复后,我会尽快通知您!
    • 太棒了,这实际上让我的应用程序发布了,除非 Apple 只是错过了最初的问题并接受了它(Y)
    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 2017-01-24
    • 2017-01-26
    • 1970-01-01
    • 2011-11-04
    • 2017-11-25
    • 1970-01-01
    • 2017-06-12
    相关资源
    最近更新 更多