【问题标题】:iOS - Support ipv4 only APIiOS - 仅支持 ipv4 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 的网络并进行测试,则只能在您身边而不是在服务器或任何地方进行配置。跨度>

标签: ios ipv6


【解决方案1】:

这与您的后端服务器和/或学校 DNS 服务器无关。那些仅限 IPv4 的将可以正常工作。您的应用需要做正确的事情才能连接到它们。

您无需检测您是在纯 IPv6 网络上还是使用任何 IPv6 隧道。更高级别的 iOS 网络 API 已经透明地使用 DNS64/NAT64,无需任何更改。如果您使用低级套接字 API,您只需在连接之前调用系统 API 进行查找(无论您是否在仅 IPv6 的网络上,您都可以执行此操作)。

【讨论】:

    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2013-06-10
    • 2016-07-26
    相关资源
    最近更新 更多