一個項目組的同事遇到一個問題,他說在test環境WebView調用了shouldStartLoadWithRequest,但是stage和線上環境沒有走這個回調方法。
當時聽了覺得就不可能,WebView的回調方法怎么可能跟后臺環境有關。
然后去看了才知道,他們是建了多個Target,test指的是他們test這個Target,
stage指的是stage的Target。
然后我運行發現居然還真是。。。。。。
然后就懷疑是不是沒加入到Target里面(其實我內心是拒絕的,因為Target就算不同,那么為什么WebView的四個回調方法,test環境四個都走,stage等環境就只走另外三個,就是不走shouldStartLoadWithRequest回調?)
然后發現文件也屬于多個Target
臥槽!!!!!!
反正我估計應該不是代碼問題,而是跟Target某個東東有關,于是乎,我就新建了一個文件,把不回調那個的代碼完整復制過來(新建的時候上面的Target都選上了),然后運行。。。
回調方法shouldStartLoadWithRequest可以調用。。。臥槽!!!!!當然,這個只能當做臨時解決辦法,真正原因我對比了Target沒有什么區別,所以到寫這個文章仍然沒有找到!??!唉
臥槽有三點:
1.他們項目初始Target是 xxx 其它的都是復制的xxx, xxx?test /xxx stage /xxx dev 你要不行就后面幾個不行啊,居然是xxx test可以,其它的包括xxx不行,其它的Target可都是從xxx 復制過來的?。。?!
2.尼瑪,回調都不調還能有點思路,尼瑪,居然其它可以,就shouldStartLoadWithRequest不可以,還是最重要的,尼瑪?。?!
3.我還做了個實驗,把這個文件所有相關代碼全刪掉,只留下一個基本的LoadRequest讀取網頁,居然也不行?。。????
好吧,搞了半個小時,沒眉目,我還是認為文件本身問題吧,郁悶,就先那么解了吧。