应用拒绝问题2.5.1。使用非公开API的应用程序将被拒绝(自iOS10起)[英] App rejection issue 2.5.1: Apps that use non-public APIs will be rejected (Since iOS10)

本文是小编为大家收集整理的关于应用拒绝问题2.5.1。使用非公开API的应用程序将被拒绝(自iOS10起)的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我们刚刚从Apple拒绝了一些非公共API"ContctiDID".自从我升级到最新的Xcode和Titanium SDK(也与最新的麦斯斯)升级以来,我唯一做过,这成为了一个问题.

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

-

你好,

谢谢您的重新提交.

性能 - 2.5.1

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

contextId

在App Store上不允许使用非公共API,因为这些API更改,它可能会导致用户体验不佳.

下一步

请修改您的应用以删除任何非公共API.如果您在源代码中具有与上述API相同的源代码中的定义方法,我们建议更改您的方法名称,以便他们不再与Apple的私有API碰撞,以避免在将来的申请中被标记.

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

资源

有关"NM"工具的信息,请参阅"NM工具"Xcode手册页.

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

如果您难以再现报告的问题,请尝试测试技术Q&A QA1764中描述的工作流程:如何重现对App Store提交的错误.

如果在利用上述资源后有代码级问题,您可能希望咨询Apple Developer技术支持.当DTS工程师随访时,请准备好提供: - 完成拒绝问题的详细信息 - 截图 - 重现问题的步骤 - 符号崩溃日志 - 如果您的问题导致崩溃日志

最好的问候,

应用商店评论

推荐答案

我还有两个应用程序更新,因为这个原因是拒绝的.

在同一时期,我有别人批准的.

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

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

其他推荐答案

虽然它不是一个钛问题比苹果检测到误报的问题,但这个问题刚刚在钛5.5.1.ga和以后修复,谢谢!

本文地址:https://www.itbaoku.cn/post/1937757.html

问题描述

we just got my rejection from Apple about some non-public API "contectId". The only thing I have done since I upgraded to the latest Xcode and Titanium SDK (Also with the newest macOS), this became a problem.

I know that there's steps here in the message, but is this an Titanium bug or something?

--

Hello,

Thank you for your resubmission.

Performance - 2.5.1

Your app still uses or references the following non-public APIs:

contextId

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Next Steps

Please revise your app to remove any non-public APIs. If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.

Additionally, if you are using third party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.

Resources

For information on the "nm" tool, please see the "nm tool" Xcode manual page.

If there are no alternatives for providing the functionality your app requires, you may wish to file an enhancement request.

If you have difficulty reproducing a reported issue, please try testing the workflow described in Technical Q&A QA1764: How to reproduce bugs reported against App Store submissions.

If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide: - complete details of your rejection issue(s) - screenshots - steps to reproduce the issue(s) - symbolicated crash logs - if your issue results in a crash log

Best regards,

App Store Review

推荐答案

I've also had two App updates rejected due to this reason.

Over the same period I've had others approved.

One common item between the two App updates that were rejected is the use of the following property set in my project:

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

其他推荐答案

Although it was not really a Titanium-issue than more an issue with Apple detecting false positives, this issue has just been fixed in Titanium 5.5.1.GA and later, thanks!