以编程方式查找iPad是在IPv4还是IPv6网络上

时间:2016-03-22 14:52:42

标签: ios objective-c xcode dns ipv6

我在iOS中有一项功能,如果IPv6中的用户设备网络需要禁用它。有没有办法我们可以通过编程方式将设备(iPhone / iPad)IP地址作为字符串,然后检查它是否是IPv4或IPv6网络(或者只是告诉它是在IPv4还是IPv6网络上获取实际地址)

我能得到的最接近的是iPhone/iPad/OSX: How to get my IP address programmatically?(David H.),它再次要求我们事先指定网络,因此无法解决我的目的...... 通过他的解决方案,我总是获得IPv4或始终是IPv6。

使用Apple推荐的NAT64工具(https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html)进行IPv6测试。

作为一种解决方法,我现在使用DNS来检查(https://hirooka.pro/?p=6169),我觉得这不是一个正确的方法,因为它应该是基于IP地址的。 另外,非常奇怪的是,iPad总是显示一个IPv4地址(即使连接到IPv6网络),但只是在DNS风格上有所不同......有人知道为什么会这样吗?

提前致谢。

0 个答案:

没有答案