Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to test iOS app is it supporting IPv6? [closed]

Tags:

ios

swift

ipv6

I have apps, built 2015 and 2014. How can I test them for IPv6?
If my apps doesn't support IPv6, what should I do?

My apps are using AFNetworking and Alamofire. I'm connecting mostly to domains ( Ex. api.example.com/v1/...). Only 1 app use IP: (ex: 12.12.12.12:3000/api/v1/...).

Is there problem for websockets? (ws://12.12.12.12:8080/api/....).

like image 273
Altimir Antonov Avatar asked May 08 '16 05:05

Altimir Antonov


People also ask

How do I disable IPv6 on my iPhone?

Go to “Settings” > “Connections” > “Mobile networks” > “Access Point Names.” Select your mobile network operator. Scroll down to “APN protocol.” To disable IPv6, select “IPv4” in the menu.

Can you test apps on iPhone?

Testing Apps with TestFlight. Help developers test beta versions of their apps and App Clips using the TestFlight app. Download TestFlight on the App Store for iPhone, iPad, Mac, and Apple TV.

Does iPhone use IPv6?

All Apple operating systems support IPv6, implementing several mechanisms to protect the privacy of users and the stability of the networking stack.


1 Answers

It is hard to say with any certainty without knowing more about your app. Specifically:

  • Are you using IP addresses directly?
  • Are you allowing users to enter them directly in some form other than in a URL?
  • Are you making network connections directly using APIs other than Apple's NSURL-based APIs?
  • Are you explicitly doing DNS lookups yourself for any reason?

If the answer to all of these four questions is "no", then you don't need to make any changes to support IPv6.

When using IP addresses directly, if the user needs to be able to enter those addresses, you'll probably want to add code to allow the user to enter IPv6 addresses as well, and resolve them appropriately.

If your code is performing DNS resolution on its own and then doing something with the IP addresses, it must be updated to handle IP addresses and to pass them properly to whatever API you're calling with IP addresses.

Hardcoded IP addresses are a problem. You need to create a hostname for these IP addresses. That way, the device's DNS resolver can do various magic to create a fake IPv6 address that results in network address translation to the real IPv4 address by a router somewhere.

As far as I know, AFNetworking 3.0 and later should be fine, as should recent versions of AlamoFire. Be sure you're up-to-date.

like image 115
dgatwood Avatar answered Oct 06 '22 08:10

dgatwood