繁体   English   中英

苹果拒绝了我的应用程序,因为使用私有Api-allowAnyHTTPSCertificateForHost,为什么?

[英]Apple reject my App, because using private Api - allowsAnyHTTPSCertificateForHost,Why?

我们发现您的应用使用了一个或多个非公开的API,这不符合《 App Store审查指南》。 禁止使用非公共API,因为如果这些API发生更改,可能会导致不良的用户体验。

我们在您的应用中找到以下非公开API:

allowAnyHTTPSCertificateForHost:

如果您在源代码中使用与上述API相同的名称定义了方法,我们建议您更改方法名称,以使其不再与Apple的私有API冲突,以免将来的提交中对您的应用程序进行标记。

此外,一个或多个上述API可能驻留在您的应用程序随附的静态库中。 如果您无权访问该库的源代码,则可以使用“字符串”或“ otool”命令行工具来搜索已编译的二进制文件。 “字符串”工具可以输出库调用的方法列表,而“ otool -ov”将输出Objective-C类结构及其定义的方法。 这些技术可以帮助您缩小有问题的代码所在的位置。

我们感谢您在代码中使用非公共API时已采取了预防措施,但是,无法准确或完全预测如何修改API以及这些修改可能产生的影响。 因此,我们不允许在App Store应用中使用非公共API。

如果没有其他选择可提供您的应用程序所需的功能,我们建议您提出增强功能请求。 或者,尝试与Apple开发人员技术支持团队合作探索替代解决方案。

有时,App Store上可能有一些应用似乎不符合《 App Store审查指南》。 我们会努力确保App Store上的应用程序合规,并尝试识别App Store当前上可能不兼容的所有应用程序。 识别这些情况需要花费时间,但是另一个应用不合规并不是您的应用退出的原因。

对于离散的代码级问题,您可能希望向Apple开发人员技术支持咨询。 请确保:

  • 包含拒绝问题的完整详细信息
  • 准备任何符号化的崩溃日志,屏幕截图和步骤,以重现DTS工程师跟进时的问题。

有关如何符号化和读取崩溃日志的信息,请参阅技术说明TN2151了解和分析iPhone OS应用程序崩溃报告。

如果您在重现此问题时遇到困难,请尝试按照https://developer.apple.com/library/ios/qa/qa1764/技术问答中所述测试工作流程QA1764:如何重现崩溃或仅由App Review或Bug引起的错误。用户正在看到。

您应该对Apple在您的应用中发现安全风险感到高兴。 您正在做的是完全禁用SSL / TLS连接中的客户端服务器验证。 实际上,这不是您想要执行的操作-除非进行单元测试。

您应该解决安全风险,也不要遵循Prem Kumar在其注释中的链接-因为建议的代码实际上是相同的(禁用服务器信任验证),只是不使用私有API。

您可能使用的是QQ-SDK1.8,它使用的是私有API:allowsAnyHTTPSCertificateForHost。 并且1.8.1版本已修复它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM