背景:iOS輸入框處于編輯狀態(tài),按下Home鍵退入到后臺(tái),app閃退。有很多朋友都遇到過(可以搜一下)胀葱,比如:http://www.zhihu.com/question/34163860?sort=created? ?
解決途徑:
1. 首先我采用注釋的方式排查了自己寫的頁面上的代碼,沒發(fā)現(xiàn)什么問題。
2. 尋找萬能的度娘吱抚,把錯(cuò)誤信息貼進(jìn)去,搜到幾個(gè)答案欧引,大部分類似于這篇文章:http://huang.sh/2015/02/一個(gè)奇怪的crash-uikeyboardlayoutstar-release/
通過分析途徑2频伤,我猜測問題跟運(yùn)行時(shí)有一定關(guān)系,但我并沒有使用庫DurexKit芝此,不過我有通過建立分類使用Swizzle來動(dòng)態(tài)攔截NSArray憋肖、NSMutableArray、NSDictionary婚苹、NSMutableDictionary的方法岸更。
按照文章里的方式,我在build phases中找到Compile Sources膊升,繼而找到使用Swizzle的分類怎炊。如下圖:
我在<圖1>分類的后邊加上了-fno-objc-arc標(biāo)記,如下圖:
然后再運(yùn)行代碼問題解決廓译。當(dāng)我把-fno-objc-arc去掉問題再次出現(xiàn)评肆。
不過在此過程我遇到個(gè)奇怪的問題:這幾個(gè)分類文件我是在.pch文件中導(dǎo)入的.h,我把導(dǎo)入的.h注釋之后 非区,按照<圖2>編譯發(fā)現(xiàn)問題也是可以解決的瓜挽。就是說這幾個(gè)文件.h在工程中有沒有用到,只要如<圖2>編譯就不會(huì)出現(xiàn)標(biāo)題上描述的那個(gè)問題征绸。
如果有朋友我提到的這個(gè)問題久橙,可以一起交流。