蘋果于2016年5月4日告知開發(fā)者應(yīng)用需要在6月1日前支持IPv6-only,也就是說在 6 月 1 日后發(fā)布的新版本是需要支持 IPv6-only.
原文地址:https://developer.apple.com/news/?id=05042016a
請看下圖:
Paste_Image.png
其中藍色部分的高級API,其實都已經(jīng)幫我們做好了IPv6的支持,我們使用的大多數(shù)第三方網(wǎng)絡(luò)庫也都是基于這些高級API的,所以這里我們不需要做什么改動窄锅。 需要注意的是下面的紅色部分的底層的socket API需要做出適配支持。
適配支持方案
- 不要使用硬編碼的IPv4的地址窒升,取而代之應(yīng)該使用域名;
- 搜一下是否有用到下面的這些API奈附,這些API都是只針對IPv4做處理的姆钉,刪除掉就可以:
- inet_addr()
- inet_aton()
- inet_lnaof()
- inet_makeaddr()
- inet_netof()
- inet_network()
- inet_ntoa()
- inet_ntoa_r()
- bindresvport()
- getipv4sourcefilter()
- setipv4sourcefilter()
- 如果項目中用到了以下的IPv4的類型吆倦,那么也要支持相應(yīng)的IPv6類型
Paste_Image.png
- 如果強制需要使用IPv4的地址听诸,蘋果官方的適配方法給出了解決方式。Use System APIs to Synthesize IPv6 Addresses
適配支持驗證方法
首先通過Mac的共享網(wǎng)絡(luò)共享一個IPv6的無線網(wǎng)蚕泽,跟已往創(chuàng)建方式不同的是進入共享時需要按住Option鍵,不然Create NAT64 Network
的選項不會出現(xiàn)
相應(yīng)步驟如下:
第一步:
Paste_Image.png
第二步:
Paste_Image.png
第三步: 需要使你的iPhone連接上分享出來的熱點即可 注:需要將iPhone的蜂窩網(wǎng)絡(luò)數(shù)據(jù)關(guān)掉桥嗤,以保證只有通過WiFi在連接網(wǎng)絡(luò).
Paste_Image.png
注意: 手機上面的 HTTP代理必須關(guān)閉.
通過以上步驟,就可以模擬 IPv6進行測試您的項目是否已經(jīng)適配了 IPv6了. 猿兄媛妹們,趕緊測試你們的 app 是否支持 IPv6吧! 明天就是端午節(jié), 提前祝福大家節(jié)日快樂.