iOS - 仅支持 ipv4 API

iOS - Support ipv4 only API

我们正在为一个大学项目开发​​一个小应用程序,我们希望对其进行审核,以便我们可以在应用程序商店中与外部测试人员一起使用它。

但是它被拒绝了,说它不能在只有 ipv6 的网络上工作。主要问题: 我们的后端服务器只能通过 ipv4 访问(因为我们大学的 IT 还不想允许 ipv6),因此没有任何可以查找的 ipv6 DNS 条目。 我理解 DNS64/NAT64 工作流程的概念,如 https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1 中所述。但是,我们大学的主要 DNS 尚未配置为以这种方式工作..

有什么方法可以解决这个问题(使用 swift)? 我认为我们能够以某种方式检测网络是 ipv6 还是 ipv4,然后通过 ipv6 隧道重新路由流量,例如 sixxs.org?

与你的后台服务器and/or学校DNS服务器无关。那些只有 IPv4 的人可以正常工作。您的应用需要做正确的事情才能连接到它们。

您不需要检测您是否在纯 IPv6 网络上或使用任何 IPv6 隧道。更高级别的 iOS 网络 API 已经透明地与 DNS64/NAT64 一起工作,无需任何更改。如果你使用低级套接字 APIs 你只需要调用一个系统 API 来进行查找(无论你是否在 IPv6-only 网络上,你都可以这样做)之前你连接。