如何测试iOS 应用是否支持IPv6?
How to test iOS app is it supporting 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/....).
在不了解您的应用程序的情况下很难下定论。具体来说:
- 您是否直接使用 IP 地址?
- 是否允许用户以 URL 以外的某种形式直接输入它们?
- 您是否直接使用 APIs 而不是 Apple 基于 NSURLs 的 APIs 进行网络连接?
- 您是否出于任何原因明确自己进行 DNS 查找?
如果这四个问题的答案都是"no",那么您无需进行任何更改即可支持 IPv6。
直接使用 IP 地址时,如果用户需要能够输入这些地址,您可能需要添加代码以允许用户也输入 IPv6 地址,并适当地解析它们。
如果您的代码自行执行 DNS 解析,然后对 IP 地址执行某些操作,则必须对其进行更新以处理 IP 地址并将它们正确传递给您使用 IP 调用的任何 API地址。
硬编码 IP 地址是个问题。您需要为这些 IP 地址创建一个主机名。这样,设备的 DNS 解析器就可以施展各种魔法来创建一个虚假的 IPv6 地址,从而导致某个地方的路由器将网络地址转换为真实的 IPv4 地址。
据我所知,AFNetworking 3.0 及更高版本应该没问题,最新版本的 AlamoFire 也应该如此。确保你是最新的。
我有 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/....).
在不了解您的应用程序的情况下很难下定论。具体来说:
- 您是否直接使用 IP 地址?
- 是否允许用户以 URL 以外的某种形式直接输入它们?
- 您是否直接使用 APIs 而不是 Apple 基于 NSURLs 的 APIs 进行网络连接?
- 您是否出于任何原因明确自己进行 DNS 查找?
如果这四个问题的答案都是"no",那么您无需进行任何更改即可支持 IPv6。
直接使用 IP 地址时,如果用户需要能够输入这些地址,您可能需要添加代码以允许用户也输入 IPv6 地址,并适当地解析它们。
如果您的代码自行执行 DNS 解析,然后对 IP 地址执行某些操作,则必须对其进行更新以处理 IP 地址并将它们正确传递给您使用 IP 调用的任何 API地址。
硬编码 IP 地址是个问题。您需要为这些 IP 地址创建一个主机名。这样,设备的 DNS 解析器就可以施展各种魔法来创建一个虚假的 IPv6 地址,从而导致某个地方的路由器将网络地址转换为真实的 IPv4 地址。
据我所知,AFNetworking 3.0 及更高版本应该没问题,最新版本的 AlamoFire 也应该如此。确保你是最新的。