iOS上線之日了狗的的IPv6

簡書

鎮(zhèn)景雄

路漫漫其修遠(yuǎn)兮,吾將上下而求索!

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

首次被拒

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

當(dāng)看個(gè)這個(gè)截圖的時(shí)候,小編第一個(gè)反應(yīng)是,此事必要蹊蹺,掐指算一算,大概有兩點(diǎn)原因

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

二次被拒

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

3EB4F1BD2CB40B76857953AF2B833F65.png

說起IPv6這個(gè)東西,對(duì)于iOS開發(fā)的小伙伴來說一定不陌生,2016年5月份橫空出世,掀起了一段適配IPv6的浪潮,所有提交至蘋果App Store的iOS應(yīng)用申請(qǐng)必須要支持IPv6-only下一代互聯(lián)網(wǎng)標(biāo)準(zhǔn)。要搞懂這個(gè)問題,我們就不得不說說IPv4IPv6這兩個(gè)概念了

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

三次被拒

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

C9E995C5FC4942A8E5F685C7BCCD097F.png

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

四次被拒

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

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

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

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

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

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


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

C000A4EF6BF3573A93B0B755F6127746.png
E6CCD069F5354A3595EDDB092A9BC2F2.png

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

真想大白

晚上部門聚餐的時(shí)候,在樓下我們跟安卓小伙伴閑聊技術(shù),他無意中說出了一句:可能是你發(fā)請(qǐng)求的時(shí)候傳的本地時(shí)間不是北京時(shí)間所導(dǎo)致的,之前你們h5版本也出現(xiàn)這個(gè)問題。這話一出,突然有種醍醐灌頂?shù)母杏X,我們趕緊把手機(jī)設(shè)置里的時(shí)區(qū)調(diào)到紐約時(shí)區(qū),發(fā)現(xiàn)網(wǎng)絡(luò)真的訪問不了,一時(shí)間仿佛找到了問題的癥結(jié),飯桌上跟服務(wù)端大當(dāng)家也溝通這個(gè)問題,他也默認(rèn)了時(shí)區(qū)會(huì)導(dǎo)致這個(gè)問題,他解釋:服務(wù)端主要拿本地時(shí)間做一些安全性校驗(yàn),但是只有北京時(shí)間能返回?cái)?shù)據(jù)!

吃完飯就回公司研究這個(gè)問題,把手機(jī)本地系統(tǒng)時(shí)間轉(zhuǎn)化為指定時(shí)區(qū)時(shí)間,代碼如下
粘貼圖片.png

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

個(gè)人總結(jié):

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

④也有可能你找了槍手還是解決不了,那么問題的關(guān)鍵就一定是服務(wù)端的邏輯問題了,小編的app問題癥結(jié)就出現(xiàn)在這里了。這個(gè)時(shí)候就得向辦法模擬下美國的網(wǎng)絡(luò)環(huán)境,切換到美國當(dāng)時(shí)時(shí)區(qū),然后跟公司服務(wù)端小伙伴調(diào)試下,相信這種方式一定能從根本上解決這個(gè)問題,手機(jī)本地時(shí)區(qū)這個(gè)在設(shè)置中可以切換,至于怎么切換到美國的網(wǎng)絡(luò)環(huán)境,小編覺得切到美國App Store,就能模擬美國的網(wǎng)絡(luò)環(huán)境,截個(gè)圖如下
0504709B-33DD-4F80-AAA4-FD4880AB9899.png

這里我想吐槽一下服務(wù)端,不知道為什么這邊我傳一個(gè)錯(cuò)誤的時(shí)間字符串,居然不走AFN網(wǎng)絡(luò)請(qǐng)求中的成功方法,走的是失敗方法,按道理只要URL對(duì)就可以跟服務(wù)端交互,就會(huì)走success方法,但是服務(wù)端直接讓你走failure方法,這點(diǎn)上小編實(shí)在是不解,可能是后臺(tái)架構(gòu)或者第三方框架的鍋,但是這種方式肯定是不合理的!

引用

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

詩的引用

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容