所需的 iPv6 兼容性 - 被 Apple iOS 应用程序拒绝

Posted

技术标签:

【中文标题】所需的 iPv6 兼容性 - 被 Apple iOS 应用程序拒绝【英文标题】:Required iPv6 compatibility - rejected by Apple iOS app 【发布时间】:2017-01-02 10:15:55 【问题描述】:

我在 iTunes 上多次上传我的应用并收到以下消息:

( 我们在通过连接到 IPv6 网络的 Wi-Fi 运行 ios 10.2 的 iPhone 上查看您的应用时发现了一个或多个错误。

具体来说,当我们尝试创建一个新帐户时,加载指示器会无限旋转。 )

应用在 IPv6 网络上进行审核。请确保您的应用支持 IPv6 网络,因为需要兼容 IPv6。

注意:我使用 AFNetworking 版本 3.1.0 来调用 Web 服务(支持 IPV6)和 Apple Reachability(也支持 IPV6),而没有使用硬编码的 Ip。

我的问题:必须在移动端或服务器端进行更改?

【问题讨论】:

当我 Google Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required. 时,似乎有很多相关的 Stack Overflow 问题,它们都没有帮助吗? required iPv6 compatibility - iOS app rejected by apple的可能重复 @Oduy Samarah Alzoubi 您使用的是 REST api 还是 SOAP api? 我使用了 REST api 我在 SOAP API 上遇到了同样的问题 更改为 REST 后,我的应用程序获得了批准。应用端没有做任何事情 【参考方案1】:

就我在 IPv6 方面的经验而言,您可能是对的。当您使用适用于 iOS 10.2 的最新 SDK 在 Xcode 中开发您的应用程序时,您应该在应用程序方面保存 IPv6 兼容性。

但是,Unix(MacOS 音频是 Unix 衍生产品)从您的应用程序中获取路径或 url,并将在操作系统级别与您要连接的另一方协商。这通常通过 DNS 运行。因此,您的应用程序和 iOS 将首先从 DNS 请求 IPv6 IP 地址。当 DNS 理解 IPv6 时,这并不总是得到保证,但通常情况下,它会向对方询问 IPv6 地址。如果对方不支持 IPv6,操作系统会请求 IPv4 地址并建立连接。

由于 Apple 将要求您对您的应用提供的整个服务链负责,因此您必须确保请求方也支持 IPv6,因为它是您应用功能的一部分。

希望这会有所帮助。

【讨论】:

“被请求方”是什么意思?你是说服务器端吗?? 是的,您的应用程序是请求方,请求连接。服务器是被请求方,被请求建立连接。 这可能很复杂。请在此 url 检查苹果开发者网站。它应该为您提供所有信息。 developer.apple.com/library/content/documentation/… 我不知道该网站,但我刚刚在我的网站上进行了测试,它很好地概述了 IPv6 的准备情况。

以上是关于所需的 iPv6 兼容性 - 被 Apple iOS 应用程序拒绝的主要内容,如果未能解决你的问题,请参考以下文章

由于 IPv6 问题导致应用被拒绝

Apple iOS ARKit:“传感器无法提供所需的输入”错误并停止工作

使用 IPv6 和 Azure 的 iOS 问题

iOS IPv6兼容支持和IPv6审核被拒收集整理

Flutter:如何在 Apple M1 芯片中安装 Flutter 及其所需的 SDK 元素?

ios app在提出所有建议后因ipv6不兼容而被拒绝