我们刚刚被苹果拒绝了一些非公共API "contectId"。这是我升级到最新的Xcode和Titanium SDK(也使用最新的macOS)后所做的唯一一件事,这成了一个问题。
我知道消息中有步骤,但这是钛的错误还是什么?
,
你好,
感谢您的再次提交。
性能- 2.5.1
你的应用程序仍然使用或引用以下非公共api:
contextId
App Store不允许使用非公共api,因为如果这些api发生变化,可能会导致糟糕的用户体验。
下一步请修改您的应用程序以删除任何非公共api。如果你在源代码中定义了与上述api相同名称的方法,我们建议修改你的方法名称,使它们不再与苹果的私有api冲突,以避免你的应用程序在未来提交时被标记。
另外,如果您正在使用第三方库,请更新到这些库的最新版本。如果您无法访问库的源代码,您可以使用"strings"或"otool"命令行工具搜索编译后的二进制文件。"strings"工具可以输出库调用的方法列表,"otool -ov"将输出Objective-C类结构及其定义的方法。这些工具可以帮助您缩小问题代码所在的位置。你也可以使用"nm"工具来验证是否有第三方库正在调用这些api。
资源有关"nm"工具的信息,请参阅"nm tool" Xcode手册页。
如果没有提供应用程序所需功能的替代方案,您可能希望提交增强请求。
如果您难以重现所报告的问题,请尝试测试技术问答a QA1764:如何重现针对App Store提交报告的错误。
如果您在使用上述资源后有代码级问题,您可能希望咨询Apple开发人员技术支持。当DTS工程师跟进您时,请准备好提供:-详细说明拒收原因——截图-重现问题的步骤-符号崩溃日志-如果你的问题导致崩溃日志
最诚挚的问候,
App Store Review
虽然这不是真正的Titanium问题,而是Apple检测误报的问题,但这个问题刚刚在Titanium 5.5.1中修复。GA和稍后,谢谢!
我也有两个应用程序更新由于这个原因被拒绝。
在同一时期,我已经批准了其他人。
两个被拒绝的App更新之间的一个共同点是在我的项目中使用了以下属性集:
<property name="run-on-main-thread" type="bool">true</property>