一、什么是IPV6
首先IPV6,是對IPV4地址空間的擴充。目前當我們用iOS設備連接上Wifi、4G、3G等網(wǎng)絡時,設備被分配的地址均是IPV4地址,但是隨著運營商和企業(yè)逐漸部署IPV6 DNS64/NAT64網(wǎng)絡之后,設備被分配的地址會變成IPV6的地址,而這些網(wǎng)絡就是所謂的IPV6-Only網(wǎng)絡,并且仍然可以通過此網(wǎng)絡去獲取IPV4地址提供的內(nèi)容??蛻舳讼蚍掌鞫苏埱笥蛎馕觯紫韧ㄟ^DNS64 Server查詢IPv6的地址,如果查詢不到,再向DNS Server查詢IPv4地址,通過DNS64 Server合成一個IPV6的地址,最終將一個IPV6的地址返回給客戶端。
二、檢查不兼容IPv6的代碼
搜一下工程里有沒有下面的這些API,這些都是只針對IPv4做處理的,有的話就刪了。
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果用到了下面左邊的這些IPv4的類型,那么它們相應的IPv6類型也需要做處理
IPV4
IPV6
AF_INET
AF_INET6
PE_INET
PE_INET6
struct in_addr
Struct in_addr6
struct sockadd_in
struct sockaddr_in6
kDNSServiceProtocol_IPv4
kDNSServiceProtocol_IPv6
IPv4--IPv6
三、本地搭建IPv6測試環(huán)境
需要的就是一臺用非Wi-Fi的方式上網(wǎng)的Mac電腦,產(chǎn)生的是一個本地的IPv6 DNS64/NAT64網(wǎng)絡,這項功能是OS X 10.11新加的。
在“System Preferences”界面選中“Sharing”的同時,要按住“Option”鍵。之后在“Sharing”界面中,我們會看到和之前不一樣的地方,就是紅框所標的地方,多了一個叫“Create NAT64 Network”的選框,選中它。
之后就是按照正常的創(chuàng)建熱點的流程走完就行了。
現(xiàn)在我們用iPhone連接上這個剛創(chuàng)建好的熱點就可以測試了,注意此時要把iPhone設成飛行模式,以保證只用Wi-Fi上網(wǎng)。
四、解決辦法
1.升級AFN3.0+
2.升級ShareSDK3.3+
搭建IPv6的環(huán)境
參考文章:http://jingyan.baidu.com/article/0bc808fc56a9bf1bd585b96d.html