蘋果于2016年5月4日告知開發(fā)者應(yīng)用需要在6月1日前支持IPv6-only,也就是說在 6 月 1 日后發(fā)布的新版本是需要支持 IPv6-only.
原文地址: https://developer.apple.com/news/?id=05042016a
請(qǐng)看下圖:

Paste_Image.png
其中藍(lán)色部分的高級(jí)API,其實(shí)都已經(jīng)幫我們做好了IPv6的支持,我們使用的大多數(shù)第三方網(wǎng)絡(luò)庫(kù)也都是基于這些高級(jí)API的,所以這里我們不需要做什么改動(dòng)。 需要注意的是下面的紅色部分的底層的socket API需要做出適配支持。
適配支持方案
不要使用硬編碼的IPv4的地址,取而代之應(yīng)該使用域名;
搜一下是否有用到下面的這些API,這些API都是只針對(duì)IPv4做處理的,刪除掉就可以:
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果項(xiàng)目中用到了以下的IPv4的類型,那么也要支持相應(yīng)的IPv6類型

Paste_Image.png
如果強(qiáng)制需要使用IPv4的地址,蘋果官方的適配方法給出了解決方式。 Use System APIs to Synthesize IPv6 Addresses
適配支持驗(yàn)證方法
首先通過Mac的共享網(wǎng)絡(luò)共享一個(gè)IPv6的無線網(wǎng),跟已往創(chuàng)建方式不同的是進(jìn)入共享時(shí)需要按住Option鍵,不然Create NAT64 Network
的選項(xiàng)不會(huì)出現(xiàn)
相應(yīng)步驟如下:
第一步:

Paste_Image.png
第二步:

Paste_Image.png
第三步: 需要使你的iPhone連接上分享出來的熱點(diǎn)即可 注:需要將iPhone的蜂窩網(wǎng)絡(luò)數(shù)據(jù)關(guān)掉,以保證只有通過WiFi在連接網(wǎng)絡(luò).

Paste_Image.png
注意: 手機(jī)上面的 HTTP代理必須關(guān)閉.
通過以上步驟,就可以模擬 IPv6進(jìn)行測(cè)試您的項(xiàng)目是否已經(jīng)適配了 IPv6了. 猿兄媛妹們,趕緊測(cè)試你們的 app 是否支持 IPv6吧! 明天就是端午節(jié), 提前祝福大家節(jié)日快樂.