ios - 需要 iPv6 兼容性 - iOS 应用程序被苹果拒绝

标签 ios app-store-connect ipv6

enter image description here

6 月 1 日之后,我将我的 ionic 应用程序提交到 itunes connect,我收到了苹果的消息。

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

有关支持 IPv6 网络的信息,请参阅支持 iPv6 DNS64/NAT64 网络。

有关网络概述,请参阅关于网络。

我已经使用 AFNetworking 进行 API 调用。

请帮助找出相同的解决方案。

谢谢。

最佳答案

如果您正在使用特定于 IPv4 的 API 或硬编码的 IP 地址,您将需要更新您的代码,尽管所有 NSURLSession 和 CFNetwork API(包括 NSURLConnection)已经支持 IPV6

如 Apple 所述:

At WWDC 2015 we announced the transition to IPv6-only network services in iOS 9. Starting June 1, 2016 all apps submitted to the App Store must support IPv6-only networking. Most apps will not require any changes because IPv6 is already supported by NSURLSession and CFNetwork APIs.

If your app uses IPv4-specific APIs or hard-coded IP addresses, you will need to make some changes.

虽然。 Apple 还建议不要长期使用 IP 地址字面值(没有必要)

Don’t Use IP Address Literals

确保您没有将点符号中的 IPv4 地址文字传递给 getaddrinfo 和 SCNetworkReachabilityCreateWithName 等 API。 相反,使用高级网络框架和地址不可知 API 的版本,例如 getaddrinfo 和 getnameinfo,并传递它们 主机名或完全限定的域名 (FQDN)。请参阅获取地址信息 (3) Mac OS X 开发人员工具手册页和 getnameinfo(3) Mac OS X 开发人员工具手册页。

注意:在 iOS 9 和 OS X 10.11 及更高版本中,NSURLSession 和 CFNetwork 在本地自动从 IPv4 文字合成 IPv6 地址 在 DNS64/NAT64 网络上运行的设备。但是,您仍然应该 努力摆脱您的 IP 地址字面量代码

如果您正在使用 AFNetworking Library,请确保将其更新到 3.x 以上的版本,因为他们似乎已经更新了一些东西。 --> AFNetworking Added support for IPv6 to Reachability.

有关详细信息,请点击此链接

Supporting IPv6-only Networks

另外,要测试

你可以按照这个详细的教程:

tutorial-how-to-test-your-app-for-ipv6-compatibility

关于ios - 需要 iPv6 兼容性 - iOS 应用程序被苹果拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37693256/

相关文章:

iOS如何在每个区域(任何位置和任何缩放)计算尺寸宽度到米

mysql - 无需附加层即可从 Objective-C 连接到 MySQL/Oracle 数据库

ios - iOS应用内购买仅会使生产失败

linux - Python-Requests 模块使用 IPv6 提供 502

ipv6 - 将 CIDR 表示法中的 IPv4 IP 范围映射到 IPv6

ios - OneSignal (iOS) - 未调用 didReceiveNotificationRequest

ios - 为什么当我尝试创建分发证书时,App Store 和 Ad Hoc 按钮变灰了?

ios - 回滚版本

ios - 使用 Xcode 5 更新应用

ios - MailCore/MailCore2 库未加载 - IPv6 兼容性失败 - Swift