Apple官方近期釋出了關于IPv6-only網絡環境相容的APP稽核要求,詳情參見: https://developer.apple.com/news/?id=05042016a
,
關于IPv6-only相關技術細節參見Apple官方文檔:
https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1 Apple官方人員關于IPv6-only稽核的要求說明詳見社群連結: https://forums.developer.apple.com/message/136166#136166 目前阿裡雲移動服務全系列産品,包括移動推送、移動資料分析、HTTPDNS、移動加速、移動存儲(OSS)等均已相容IPv6-only網絡環境。根據Apple官方人員的[社群回複]( ),最新的稽核标準為“APP在最新的iOS系統版本上是否相容IPv6-only網絡環境”(僅作參考,請以Apple官方說明為準),而iOS9.0版本以上的官方網絡庫會自動轉換IPv4位址以适配IPv6-only網絡環境,是以本次更新的更新建議如下:1.使用移動加速的開發者請及時更新SDK,老闆移動加速将不支援IPv6-only網絡環境;
2.使用HTTPDNS的開發者請确認在通過HTTPDNS解析IP後是否使用了官網網絡庫進行網絡請求。若是,您無需做任何變更。若不是,您可以通過更新HTTPDNS SDK的方式适配IPv6-only網絡環境;
3.使用其他移動服務的開發者,您可自主選擇是否更新對應的SDK。這部分服務的舊版本SDK可相容上述供參考的稽核規範;
由于Apple并未正式放出相關稽核标準文檔,我們依然建議各位開發者及時更新相關移動服務的SDK。
關于IPv6-only網絡環境的模拟适配測試可參考Apple技術文檔。
注:
HTTPDNS場景下相容IPv6-only網絡環境需要注意的細節:
在iOS9.0以上系統中,如果您使用系統網絡庫如NSURLSession,系統網絡庫會自動進行IP格式轉換适配IPv6-only網絡,是以您不需要做任何更改即可适配IPv6-only網絡環境。在9.0版本以下的系統中,HTTPDNS為您完成了IP位址的轉換工作,但您需要按照下文所述的方式合理使用HTTPDNS。
當您使用IP形式的URL進行網絡請求時,IPv4與IPv6的IP位址使用方式略有不同:
• IPv4:
http://1.1.1.1/path• IPv6:
http://[2001:db8:c000:221::]/path即在URL中使用IPv6位址時需要在IPv6位址基礎上額外加上[]。為了友善開發者的使用,HTTPDNS提供了适配URL格式的IP擷取接口getIpByHostInURLFormat/getIpByHostAsyncInURLFormat。當您通過HTTPDNS進行IP擷取,并使用該IP進行基于URL的網絡通路時,您可以通過上述API直接擷取符合URL使用場景,格式化後的IP資訊,如1.1.1.1/[2001:db8:c000:221::]。如果您僅僅為了擷取精準的IP資訊并另做它用,您可以繼續使用老接口getIpByHost/getIpByHostAsync。
詳情參見HTTPDNS SDK使用文檔
Android:
https://help.aliyun.com/document_detail/30140.html?spm=5176.product9173596_30100.6.126.HDJOkL iOS: https://help.aliyun.com/document_detail/30141.html?spm=5176.doc30140.6.127.3YsjQ3
釘釘搜尋35248489,加入阿裡雲雲原生應用研發平台EMAS技術交流群,探讨最新最熱門的應用研發技術和實踐。(或釘釘掃碼加入)
