应用拒绝问题2.5.1:使用非公开API的应用将被拒绝(自iOS10以来)

我们刚刚从苹果拒绝了一些非公开的API“contectId”。 从我升级到最新的Xcode和Titanium SDK(也是最新的macOS)之后,我做的唯一的事情就是这个问题。

我知道邮件中有一些步骤,但这是一个titanium错误或什么?

你好,

感谢您的重新提交。

性能 – 2.5.1

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

CONTEXTID

应用程序商店不允许使用非公共API,因为如果这些API发生更改,可能会导致糟糕的用户体验。

下一步

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

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

资源

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

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

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

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

最好的祝福,

app store评论

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

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

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

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

尽pipe这不是一个真正的Titanium问题,而是苹果检测出误报的更多问题,但是这个问题刚刚在Titanium 5.5.1.GA和更高版本中得到了解决,谢谢!