iOS開發之蘋果應用6.1日起需相容IPv6,那麼作為開發人員我們需要做些什麼呢?【科普IPV6】

來源:互聯網
上載者:User

標籤:

   我相信現在很多的iOS開發人員都知道蘋果要求我們提交到App Store的應用必須支援IPv6。
          1.提到IPV6相關。 那這個直接就聯想到就是關於我們App中網路部的一些內容,是否要進行相應的改變。           首先,解釋下什麼是ipv6?

          IPv6是下一代互連網的協議,它的提出最初是因為隨著互連網的迅速發展,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將妨礙互連網的進一步發展。通俗的說就是,我們的網路ip地址不夠用了, 我們每台電腦上internet都需要一個身份證明,就是說的IP地址, ipv4的可使用地址為 2的32次方個地址,而ipv6可使用的ip地址為 2的128次方, 哈哈,媽媽再也不用擔心我們ip地址不夠用啦,當然ipv6的好處遠不止只是地址的增加。還有以下好處:

     更小的路由表

         IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉寄資料包的速度。

  增強組播(Multicast)支援以及對流的支援(Flow-control)

  這使得網路上的多媒體應用有了長足發展的機會,為服務品質(QoS)控制提供了良好的網路平台。

  加入了對自動設定(Auto-configuration)的支援

  這是對DHCP協議的改進和擴充,使得網路(尤其是區域網路)的管理更加方便和快捷。

  更高的安全性

  在使用IPv6網路中使用者可以對網路層的資料進行加密並對IP報文進行校正,這極大的增強了網路安全


通過上面的瞭解,大家肯定明白蘋果為什麼要求我們的app要支援ipv6了把,並且態度強硬。  蘋果這是為了以後發展上不受ipv的影響,所以提前快刀斬亂麻。

廢話說了很多了: 參照:http://www.jianshu.com/p/69ed4489762c 

進入本文:  

        我們用進階的API完全能夠實現我們的需求,而且進階API封裝的很便於使用,很多底層的像適配IPv6的工作都已經幫我們做好了。而用底層API會有大量的工作要我們自己來做,更容易產生bug。但你如果確實需要用底層的POSIX socket API。


這個方法在著名的Reachability類中是用到了的,而我們常用的網路程式庫AFNetworking裡面有Reachability。所以用到的同學得好好查一下了,大家沒事可以去看看AFnetworking/issues,然後也可以問一問,暫時貌似是還沒有解決這個問題點擊開啟連結 issues,


檢查不相容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類型也需要做處理

具體的對應欄位為: 大家一定要查一查




最後一步:那就是請嘗試搭建一個ipv6的環境,去測試整個項目,具體的搭建ipv6環境的步驟如下:

本地搭建IPv6測試環境

最後我們來搭一個IPv6的測試環境吧,你所需要的就是一台用非Wi-Fi的方式上網的Mac電腦。

我們的要做的其實就是用Mac做一個熱點,然後用iPhone串連這個Wi-Fi,聽起來很容易,我相信大家在公司就是這麼乾的吧。

區別是這次我們產生的是一個本地的IPv6 DNS64/NAT64網路,這項功能是OS X 10.11新加的。和我們以前開啟熱點方式不一樣的地方在於,我們在“System Preferences”介面選中“Sharing”的同時,要按住“Option”鍵。


System Preferences

之後在“Sharing”介面中,我們會看到和之前不一樣的地方,就是紅框所標的地方,多了一個叫“Create NAT64 Network”的選框,選中它。


Sharing

之後就是按照正常的建立熱點的流程走完就行了。

現在我們用iPhone串連上這個剛建立好的熱點就可以測試了,注意此時要把iPhone設成飛航模式,以保證只用Wi-Fi上網。


總結:

    1.我相信陸陸續續肯定會有更多的開發人員在相容ipv6的過程中會出現各種各樣的問題,到時候再去論壇,技術群中再探索把。

iOS開發之蘋果應用6.1日起需相容IPv6,那麼作為開發人員我們需要做些什麼呢?【科普IPV6】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.