iOS 適配ipv6

博客地址已遷移到:https://devthinking.com

在App中適配

  1. 在傳nodename的時候不要用ip地址,用域名;
  2. 檢查工程中有沒有用到以下api,這些只是針對ipv4處理的,有的話就刪了:
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
  1. 如果用到了以下ipv4的api,相應的ipv6也需要做處理:
AF_INET
PF_INET
struct in_addr
struct sockaddr_in
kDNSServiceProtocol_IPv4
  1. 在App中,如果用了AFN3.0以上,都支持了ipv6,但是有一點在AFNetworkReachabilityManager中,在manager的初始化方法中,判斷的手機是否是大于9.0的系統(tǒng),有些不對,原來代碼是這樣:
+ (instancetype)manager
{
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)

上面的代碼應該改成這樣,才會生效:

 #if (TARGET_OS_IPHONE && NSFoundationVersionNumber > 1240) || (TARGET_OS_MAC && NSFoundationVersionNumber >= 1252)

服務器適配

如果你說在App端都適配了ipv6,并且自己用mac本搭建了ipv6熱點測試通過,為什么應用審核還是被拒呢?看下面的解答。

  1. 用mac創(chuàng)建的熱點和蘋果review時用的真實的ipv6網(wǎng)絡是不一樣的;
  2. 需要檢查服務器域名4A的支持。詳細的問題,請看apple論壇IPv6 and App Review
    , 檢查4A的支持可以用google的toolbox dig.
  3. 有關AAAA的文檔,可以看wikipedia.

微信公眾號

開發(fā)者思維 devthinking

QQ交流群:295976280

iOS交流群(一)群二維碼.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. IPV6簡單介紹 網(wǎng)絡是IPV6還是IPV4是由運營商和企業(yè)逐漸部署的。 客戶端向服務器端請求域名解析,首先...
    曉飛90閱讀 3,262評論 0 0
  • 最近一直看到有人說app因為沒有適配IPv6而被拒的,可是我的app卻什么都沒做也沒有被拒,閑來無事看了看原因。 ...
    program袁閱讀 2,157評論 1 8
  • 如果你的項目的網(wǎng)絡請求是用的域名的話~可以跳過這個文章了。 如果你處于ipv6的網(wǎng)絡下,發(fā)現(xiàn)你的app用不了那么你...
    MMMo1閱讀 3,704評論 1 2
  • 由于6月1日起蘋果將開始強制app適配iPV6,就對現(xiàn)有工程做了一個排查,發(fā)現(xiàn)一點更新一次吧,現(xiàn)將發(fā)現(xiàn)的AF中的修...
    NBeanN閱讀 21,657評論 24 33
  • 由于6月1日起蘋果將開始強制app適配iPV6,就對現(xiàn)有工程做了一個排查,發(fā)現(xiàn)一點更新一次吧,現(xiàn)將發(fā)現(xiàn)的AF中的修...
    多一點微笑_閱讀 6,414評論 1 9