iOS - 仅支持 ipv4 API
Posted
技术标签:
【中文标题】iOS - 仅支持 ipv4 API【英文标题】:iOS - Support ipv4 only API 【发布时间】:2016-10-24 08:14:53 【问题描述】:对于一个大学项目,我们正在开发一个小型应用程序,我们希望对其进行审核,以便我们可以在 App Store 上与外部测试人员一起使用它。
但是它被拒绝了,说它不能在仅 ipv6 的网络上工作。主要问题: 我们的后端服务器只能通过 ipv4 访问(因为我们的大学 IT 还不想允许 ipv6),因此没有任何可以查找的 ipv6 DNS 条目。 我了解https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1 中解释的 DNS64/NAT64 工作流程的概念。但是,我们大学的主 DNS 尚未配置为以这种方式工作..
有没有办法解决这个问题(使用 swift)? 我认为我们能够以某种方式检测网络是 ipv6 还是 ipv4,然后通过诸如 Sixxs.org 之类的 ipv6 隧道重新路由流量?
【问题讨论】:
根据苹果的合规性,如果您有自己的 mac 根据苹果指南设置一个仅 ipv6 的网络并进行测试,则只能在您身边而不是在服务器或任何地方进行配置。跨度> 【参考方案1】:这与您的后端服务器和/或学校 DNS 服务器无关。那些仅限 IPv4 的将可以正常工作。您的应用需要做正确的事情才能连接到它们。
您无需检测您是在纯 IPv6 网络上还是使用任何 IPv6 隧道。更高级别的 ios 网络 API 已经透明地使用 DNS64/NAT64,无需任何更改。如果您使用低级套接字 API,您只需在连接之前调用系统 API 进行查找(无论您是否在仅 IPv6 的网络上,您都可以执行此操作)。
【讨论】:
以上是关于iOS - 仅支持 ipv4 API的主要内容,如果未能解决你的问题,请参考以下文章
如何测试 iOS 设备网络是使用 IPv6 还是 IPv4?