如何测试iOS应用程序是否支持IPv6?

时间:2016-05-08 05:56:25

标签: ios swift ipv6

我有2015年和2014年建立的应用程序。如何针对IPv6进行测试? 如果我的应用程序不支持IPv6,我该怎么办?

我的应用正在使用AFNetworking和Alamofire。我主要连接到域名(例如api.example.com/v1 / ...)。只有1个应用程序使用IP :(例如:12.12.12.12:3000 / api / v1 /...).

websockets有问题吗? (WS://12.12.12.12:8080 / API / ....)

1 个答案:

答案 0 :(得分:16)

如果不了解有关您的应用的更多信息,很难确定。具体做法是:

  • 您是直接使用IP地址吗?
  • 您是否允许用户以URL以外的其他形式直接输入?
  • 您是否使用Apple基于NSURL的API以外的API直接建立网络连接?
  • 您是否出于任何原因明确自行进行DNS查找?

如果对这四个问题的答案都是“否”,那么您无需进行任何更改即可支持IPv6。

如果直接使用IP地址,如果用户需要输入这些地址,您可能还需要添加代码以允许用户输入IPv6地址,并妥善解决。

如果您的代码自行执行DNS解析,然后使用IP地址执行某些操作,则必须更新它以处理IP地址并将其正确传递到您使用IP地址调用的任何API。

硬编码的IP地址是个问题。您需要为这些IP地址创建主机名。这样,设备的DNS解析器可以做各种魔术来创建虚假的IPv6地址,从而导致路由器在某处将网络地址转换为真实的IPv4地址。

据我所知,AFNetworking 3.0及更高版本应该没问题,最近版本的AlamoFire也应如此。确保你是最新的。