如何testingiOS应用程序是否支持IPv6?

我有应用程序,build立2015年和2014年。我怎样才能testing他们的IPv6?
如果我的应用程序不支持IPv6,我该怎么办?

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

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

不知道更多关于您的应用程序,很难说有任何确定性。 特别:

  • 你是直接使用IP地址吗?
  • 您是否允许用户以某种forms直接以URL的formsinput这些内容?
  • 您是否使用Apple的基于NSURL的API以外的API直接进行networking连接?
  • 你是否出于任何原因明确地进行DNS查询?

如果所有这四个问题的答案都是“否”,那么就不需要做任何改变来支持IPv6。

当直接使用IP地址时,如果用户需要input这些地址,则可能需要添加代码以允许用户inputIPv6地址,并对其进行适当的parsing。

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

硬编码的IP地址是一个问题。 您需要为这些IP地址创build一个主机名。 这样,设备的DNSparsing器可以做各种魔术来创build虚假的IPv6地址,从而导致路由器将networking地址转换为真实的IPv4地址。

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