iOS上線之日了狗的的IPv6

簡書

鎮景雄

路漫漫其修遠兮,吾將上下而求索!

  • 坦白講,小編一向是以文雅自居,思索了很久才決定用這個標題的,大概只有這個標題才能精準的表達此刻的心情,如果說攻城獅的煩惱是敲不完的代碼,改不完的bug,那么作為一名iOS開發攻城獅那就是敲不完的代碼,改不完的bug,逃不過的被拒。蘋果作為高科技的話事人一向對蘋果app審核是很嚴的,有時候辛辛苦苦寫了幾個月的代碼,就在審核的時候,被拒n次,拒到你懷疑人生,今天我們來聊聊這日了狗的IPv6!

首次被拒

小編最近上線公司云風商城app,測得差不多了,就發布上線了,本想著,既不是游戲類app,又不是體彩類app,上個線不是so easy,但是我以為的只是我以為的我以為的而已,下面是被拒時候蘋果給出的附件截圖。
C9E995C5FC4942A8E5F685C7BCCD097F.png

當看個這個截圖的時候,小編第一個反應是,此事必要蹊蹺,掐指算一算,大概有兩點原因

  1. 難道是蘋果審核的時候,恰好這個時候,服務端小伙伴在部署環境,重啟服務器,導致蘋果審核人員登錄不上去,然后被打回來了,這未免太巧了!
  2. 或許是測完人員修改iTunes Connect中測試賬號的密碼,導致登錄不上去!
    基于這兩點猜想,周六小編冒著天寒地凍前往公司,用iTunes Connect中測試賬號登錄了一下,沒有問題,于是,打包重新提交審核了,并且還給蘋果寫了一封加急郵件,想著明天能上線,就很開心的回去了!

二次被拒

等到晚上睡覺之前去iTunes Connect查看,發現又被拒了,這次蘋果給出的截圖是一個空白頁,弄得小編很懵逼,不過它在全文提到IPv6這個關鍵詞比較多.

3EB4F1BD2CB40B76857953AF2B833F65.png

說起IPv6這個東西,對于iOS開發的小伙伴來說一定不陌生,2016年5月份橫空出世,掀起了一段適配IPv6的浪潮,所有提交至蘋果App Store的iOS應用申請必須要支持IPv6-only下一代互聯網標準。要搞懂這個問題,我們就不得不說說IPv4IPv6這兩個概念了

IPv4的定義
  • 目前的全球因特網所采用的協議族是TCP/IP協議族。IP是TCP/IP協議族中網絡層的協議,是TCP/IP協議族的核心協議。目前IP協議的版本號是4(簡稱為IPv4),發展至今已經使用了30多年。 IPv4的地址位數為32位,也就是最多有2的32次方的電腦可以聯到Internet上。 近十年來由于互聯網的蓬勃發展,IP位址的需求量愈來愈大,使得IP位址的發放愈趨嚴格,各項資料顯示全球IPv4位址可能在2005至2008年間全部發完。
IPv6的定義
  • IPv6是下一版本的互聯網協議,也可以說是下一代互聯網的協議,它的提出最初是因為隨著互聯網的迅速發展,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將妨礙互聯網的進一步發展。為了擴大地址空間,擬通過IPv6重新定義地址空間。IPv6采用128位地址長度,幾乎可以不受限制地提供地址。按保守方法估算IPv6實際可分配的地址,整個地球的每平方米面積上仍可分配1000多個地址。在IPv6的設計過程中除了一勞永逸地解決了地址短缺問題以外,還考慮了在IPv4中解決不好的其它問題,主要有端到端IP連接、服務質量(QoS)、安全性、多播、移動性、即插即用等。
IPv6跟IPv4相比,有哪些優勢
  1. 從地址空間的角度講,IPv4中規定IP地址長度為32,即有232-1個地址;而**IPv6**中IP地址的長度為128,即有2128-1個地址。
  2. 從路由表的角度講,IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉發數據包的速度。
  3. 增強的組播(Multicast)支持以及對流的支持(Flow-control)。這使得網絡上的多媒體應用有了長足發展的機會,為服務質量(QoS)控制提供了良好的網絡平臺
  4. 加入了對自動配置(Auto-configuration)的支持。這是對DHCP協議的改進和擴展,使得網絡(尤其是局域網)的管理更加方便和快捷. 更高的安全性.在使用IPv6網絡中用戶可以對網絡層的數據進行加密并對IP報文進行校驗,這極大的增強了網絡安全
    當然了,這些理論性的東西,小編覺得稍微看下,了解下個大概就可以,如果你有時間深入研究也是可以的。
當我們了解了IPV6的概念之后,首先關注的事怎么解決這個問題?
  • 對于這個問題,小編的解決方案是
  1. 按照cocoachina中這個網址http://www.cocoachina.com/ios/20160525/16431.html 提供的方案,一步一步操作,本地搭建下IPv6的環境,看能不能測試通過,如果能測試通過,那么iOS客戶端的代碼應該是沒什么問題的,說明你項目的代碼程序用的第三方都適配了IPv6。
  2. 把上面的操作流程錄制一段視頻,保存下來,這個視頻盡可能的保證畫面清晰
  3. 在蘋果開發者中心,解決方案上傳這個視頻附件,并且回復一下,至于怎么回復,這個就見仁見智,你可以說,我們在自己這邊環境測試是沒有問題,附件演示視頻,請您重新審核,祝您生活愉快!
  4. 這里需要強調一點,如果代碼沒問題的話,是不需要重新提交審核,直接回復附件就可以了,因為如果你重新提交審核,又得重新排隊了,可能需要的時間會更長一些!
    網上很多人都說上傳附件視頻就可以審核通過了,小編對這次的解決方案還是很有信心的。

三次被拒

當天晚上打卡下班,回去洗了澡,刷新下iTunes Connect頁面,發現又被拒了,就像劉德華歌詞中那句:你就像一個劊子手把我出賣,我的心彷佛被剌刀狠狠地宰,誰會愿意接受最痛的意外!
這次被拒的拒絕蘋果給出的截圖還是登錄界面,連接服務器失敗的提示

C9E995C5FC4942A8E5F685C7BCCD097F.png

這次被拒,小編心里著實埋下陰影了,最痛苦的不是解決不了問題,而是問題的癥結都找不到,叫天天不應,叫地地不靈的絕望。事已至此只有不斷去谷歌,去百度,去知乎,后來在網上找到一種貌似有點道理的方法,大概的意思是這樣的:上傳的附近文件,可能蘋果審核不會看,只能把IPv6正常使用的視頻,上傳youtu.be網站上,提供給蘋果一個鏈接,審核的時候可能審核人員才會打開。細細想來,也有點道理,youtu.be網站是美國的網站,上傳他們的網站上面去然后審核,這個過程好像沒毛病!所以這一次小編的解決方案是這樣的:
①首先你得有谷歌瀏覽器作為訪問國外網站使用,沒有的話,可以下載一個。
②對于藍燈退出歷史舞臺,而且很多VPN賬號不能使用,小編推薦使用firefly這個軟件,是可以翻墻的,并且是免費的額。
③這個時候把準備的時候上傳到https://www.youtube.com/,這個鏈接需要復制到谷歌瀏覽器才能打開的,可能上傳的過程當中需要你輸入你的谷歌賬號和密碼,沒有的注冊一個就可以了。
④拿到youtube網站生成的一個網址,回復一下蘋果的附件,把這個鏈接也加在一個顯眼的地方。
⑤為了保險起見,小編跟楊隊商量,在郵箱中也跟蘋果那邊回復一封郵件,并且在郵箱的下面也上傳了錄制的視頻和youtube鏈接
就這樣,懷著忐忑的心情打卡下班了!

四次被拒

等到第二天上班的時候,發現還是被拒了,很憂傷,一種挫敗感油然而生!這個時候蘋果回復了一封郵件,截圖如下
6FC79D00-C244-4564-9558-D35A60D14FDC.png

大概的意思是:審核部門評估你的應用,并確定最初的拒絕反饋是有效的。你的應用程序不符合app Store評審準則2.1。這下子,一下子不知道該如何是好,使勁了渾身解數,發現還是解決不了這個問題,本地測試了IPv6沒問題,也上傳了視頻,為何還是通過不了呢?

這個時候小編想起來,在16年的時候加過一個叫IPv6被拒解決方案群的群,有時候自己思維定式了,需要換一種方式去思考,專業的事情專業的人來做,正如劉國梁所說的一樣:如果今天我們還不夠強,請相信別人。如果今天我們夠強,請相信自己。既然自己對IPv6這個研究得不夠深,那就請高人指點指點吧!

對于這個專門解決IPv6被拒的群,進去之后,有個群文件可以下載看看,專門講解IPv6的,可以按照上面的方案試試,如果不懂,可以問下群里的一些大神,也許會有一些頓悟!

被拒了四五次,畢竟留給我們iOS開發小組的時間也不多了,所以小編直接選擇了咨詢那個賣解決方案服務的人,想著能不能花一點點錢,快速把這個問題解決了,但是后來技術主管覺得花299元解決這個問題太貴了,否決了這個方案,讓我們直接再提交個版本去試試,碰碰運氣。所以就這樣心不甘情不愿的又提交了一個版本,但是實際上我們都知道,通過的概率很小很小。

雖然提交了,但是小編還是很好奇那些專業解決問題的團隊,他們到底是怎么運作的,能夠使app上線,后來了解了下,是這么回事,小編截個圖,您就一目了然了


[圖片上傳中...(C000A4EF6BF3573A93B0B755F6127746.png-4e521a-1515661435520-0)]

C000A4EF6BF3573A93B0B755F6127746.png
E6CCD069F5354A3595EDDB092A9BC2F2.png

從截圖中可以捕捉兩點信息:
①通俗點講,實際上你需要購買他的服務器服務,他作為一個中轉服務器,能夠讓你的app在審核的時候順利的訪問IPv6,但是這個并不是長久之計,你需要依賴商家那邊的服務器,也就是說過期之后可能還是會被拒,又得購買商家的服務,說到這里小編想感嘆一句:商機真的是無處不在!
②如果本地搭建環境測過了,那么如果還被拒,那十有八九是服務端那邊問題,可能他們需要配置或者處理一些東西,但是對于不懂服務端只是的iOS開發工程師,可能跟服務端溝通這個問題真的不是很順暢,互相都覺得不是自己的鍋,小編也是很無奈啊!
下午的時候小編也一直在想,怎么樣模擬美國網絡環境去訪問我們這個app,或者調試一下能獲得什么信息,但是沒有美國的朋友,這個想法也只是想想而已。

真想大白

晚上部門聚餐的時候,在樓下我們跟安卓小伙伴閑聊技術,他無意中說出了一句:可能是你發請求的時候傳的本地時間不是北京時間所導致的,之前你們h5版本也出現這個問題。這話一出,突然有種醍醐灌頂的感覺,我們趕緊把手機設置里的時區調到紐約時區,發現網絡真的訪問不了,一時間仿佛找到了問題的癥結,飯桌上跟服務端大當家也溝通這個問題,他也默認了時區會導致這個問題,他解釋:服務端主要拿本地時間做一些安全性校驗,但是只有北京時間能返回數據!

吃完飯就回公司研究這個問題,把手機本地系統時間轉化為指定時區時間,代碼如下
粘貼圖片.png

通過測試紐約時區,其他國外時區,都能訪問App。很快我們就重新發布個版本,過了一個小時,晚上10點多的時候,就審核通過了,這里還是要贊一下蘋果的審核時間,是越來越短,幾乎跟安卓差不多了!

個人總結:

對于IPv6這個問題,雖然以最后一場烏龍結束,但是小編還是簡單做個總結,畢竟優秀的技術來自不斷的自我歸納!
①只有出現連接服務器失敗,或者訪問網絡錯誤的提示,蘋果會統統視為IPv6的問題,所以當你收到IPv6的被拒郵件的時候,你需要往兩方面去思考,一方面是真的是IPv6問題,一方面還是說服務端的配置,或者安全校驗問題
②當我們以IPv6問題去解決被拒的時候,上傳視頻到附件,或者上傳視頻到youtube這些步驟都是少不了的,因為也許真的是國外網絡不好就訪問不了你的App,你上傳了演示視頻,可能真的可以審核,畢竟博客上那些說法沒有必要空穴來風
③當你網上的方法試遍了,還是解決不了,小編建議還是找個IPv6的群找個專業的能手咨詢下,至少這個領域他們很專業,從他們的言語你有可能會有新收獲,對IPv6有新認識,這對你解決這個問題是有幫助的,如果實在趕進度,購買他的服務先通過審核也無妨,畢竟老板需要的是進度,怎么解決的他并不看重!

④也有可能你找了槍手還是解決不了,那么問題的關鍵就一定是服務端的邏輯問題了,小編的app問題癥結就出現在這里了。這個時候就得向辦法模擬下美國的網絡環境,切換到美國當時時區,然后跟公司服務端小伙伴調試下,相信這種方式一定能從根本上解決這個問題,手機本地時區這個在設置中可以切換,至于怎么切換到美國的網絡環境,小編覺得切到美國App Store,就能模擬美國的網絡環境,截個圖如下
0504709B-33DD-4F80-AAA4-FD4880AB9899.png

這里我想吐槽一下服務端,不知道為什么這邊我傳一個錯誤的時間字符串,居然不走AFN網絡請求中的成功方法,走的是失敗方法,按道理只要URL對就可以跟服務端交互,就會走success方法,但是服務端直接讓你走failure方法,這點上小編實在是不解,可能是后臺架構或者第三方框架的鍋,但是這種方式肯定是不合理的!

引用

一盞燈一片昏黃; 一簡書一杯淡茶。 守著那一份淡定, 品讀屬于自己的寂寞。 保持淡定, 才能欣賞到最美麗的風景! 保持淡定, 人生從此不再寂寞。

詩的引用

朝辭白帝彩云間
千里江陵一日還
兩岸猿聲啼不住
輕舟已過萬重山

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容