起初我們?cè)谟唵沃行淖隽嗽S多訂單的列表,但是訂單詳情頁面只供給用戶展示罪裹,所以因?yàn)槿肆Σ粔虻鹊仍蚰蚩祝覀冞x擇用UIWebView來展示訂單詳情。但是后來由于業(yè)務(wù)拓展需求辟犀,需要在UIWebView做一些hybrid交互問題就來。
在iOS8,iOS9上點(diǎn)擊“再次預(yù)定”“返程預(yù)定”O(jiān)K。
在iOS7下點(diǎn)擊則出現(xiàn)了crash. (按照網(wǎng)上下載xcode6.4可以解決iOS7模擬器的問題开镣,我刪除了xcode7.2再安裝,發(fā)現(xiàn)cocopods好多第三方庫已經(jīng)不能在低版本的xcode6.4的SDK上跑代碼咽扇,各種報(bào)錯(cuò)哑子。然后又刪掉了xcode6.4重新裝xcode7.3最新版,此處花費(fèi)去了一天)
哎嘛肌割,真是百思不得其解,郁悶了好幾天帐要,關(guān)鍵是xcode7.3真機(jī)測(cè)試iOS7也無法鏈條把敞,只好打個(gè)企業(yè)包彈窗查看是否走進(jìn)了哪個(gè)方法,一步一步來排查榨惠,后來在QA的手機(jī)上看了一個(gè)crash日志奋早,(最后就連看log搞的整個(gè)xcode都崩潰盛霎,人霉的時(shí)候喝水都塞牙縫)發(fā)現(xiàn)最后崩潰在一個(gè)UIWebView的一個(gè)私有方法內(nèi),于是我查了一下耽装, webView:didFirstLayoutInFrame.
http://blog.csdn.net/hursing/article/details/8791533
此處其實(shí)是依舊比較迷茫的愤炸,但是我看了該API方法好想跟Layout有關(guān),我查了一下代碼掉奄,居然發(fā)現(xiàn)了有相關(guān)的代碼
于是我又搜索了一些關(guān)于iOS7 webView的crash的問題
https://segmentfault.com/q/1010000002575561/a-1020000002575775
最后我把自己項(xiàng)目工程文件里面那段關(guān)于- (void) viewWillLayoutSubviews的方法給刪除掉规个,再測(cè)試,就OK啦姓建,crash也順利得到解決诞仓,真是哭死。
總結(jié)就是速兔,可能開發(fā)過程中我們RD自己測(cè)試會(huì)不能發(fā)現(xiàn)隱藏的問題墅拭,需要一些非常規(guī)手段來做,比如點(diǎn)擊這個(gè)再次預(yù)定涣狗,返程預(yù)定谍婉,iOS7上訂單中心到詳情頁面OK啦沒有問題,但是從填寫訂單頁面進(jìn)入支付到訂單詳情镀钓,再點(diǎn)擊一次去支付調(diào)起錢包穗熬,此時(shí)整個(gè)webView點(diǎn)擊返回,點(diǎn)擊去支付掸宛,點(diǎn)擊再次預(yù)定死陆,返程預(yù)定都沒有效果了,最后發(fā)現(xiàn)是我在頁面將要消失的地方將webview.delegate = nil.卻在頁面將要出現(xiàn)的地方?jīng)]有重新賦上delegate = self唧瘾。等等疑難雜癥措译。可能也是因?yàn)樽约捍中拇笠鉀]有注意到漏掉了饰序。遇到問題不要哭领虹,不要怕,這一切都將成為過去求豫。
最后 thanks~!