crash

我們團(tuán)隊(duì)做了個(gè)小的科研型項(xiàng)目隙笆,用來保護(hù)iOS開發(fā)工程中的疏忽引起崩潰的情況魏保。

使用簡單鲜侥,import頭文件天揖,在appdelegate中加一句代碼即可夺欲。

目前只是基本常見情況的處理。希望可以幫助到大家今膊,也希望高手們吐槽指正提出意見些阅。

解決方案放在git上開源了:https://github.com/vipshop/VDM/tree/master

防止崩潰:

1、UIControl依賴的target對象被釋放斑唬,UIControl繼續(xù)響應(yīng)設(shè)置給target的selector函數(shù)導(dǎo)致的crash

2市埋、UITableView依賴的delegate黎泣、datasource對象被釋放后,UITableView繼續(xù)響應(yīng)delegate和datasource函數(shù)導(dǎo)致的crash

3缤谎、UIScrollView依賴的delegate的對象被釋放后抒倚,UIScrollView繼續(xù)響應(yīng)delegate函數(shù)導(dǎo)致的crash

4、UIPickView依賴的delegate坷澡、datasource對象被釋放后托呕,UITableView繼續(xù)響應(yīng)delegate和datasource函數(shù)導(dǎo)致的crash

5、UIGestureRecognizer依賴的target對象被釋放后频敛,UIGestureRecognizer繼續(xù)響應(yīng)設(shè)置給target的selector函數(shù)導(dǎo)致的crash

6项郊、NSNotificationCenter向已經(jīng)被釋放的對象發(fā)送消息導(dǎo)致的crash

7、KVO的觀察者observer被釋放后value變化導(dǎo)致的crash

8姻政、已釋放對象調(diào)用延遲操作導(dǎo)致的crash

9呆抑、NSTimer的target對象被釋放后,定時(shí)任務(wù)執(zhí)行導(dǎo)致的crash

10汁展、添加KVO重復(fù)添加觀察者或重復(fù)移除觀察者(KVO注冊觀察者與移除觀察者不匹配)導(dǎo)致的crash

實(shí)現(xiàn)原理:

1鹊碍、創(chuàng)建dependencyManager單例管理依賴工具

2、category系統(tǒng)的有依賴屬性的對象食绿,如:UIControl侈咕、UIScrollView、UITableView器紧、UIPickerView耀销、UIGestureRecognizer,NSTimer 在這些對象創(chuàng)建依賴時(shí)铲汪,將依賴關(guān)系以key-value的形式保存到我們的dependencyManager的單例中去

3熊尉、category IOS中被依賴的對象UIVIew、UIViewController掌腰,當(dāng)被依賴對象釋放時(shí)狰住,dependencyManager講與之關(guān)聯(lián)的依賴控件或手勢、通知移除齿梁。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末催植,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子勺择,更是在濱河造成了極大的恐慌创南,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件省核,死亡現(xiàn)場離奇詭異稿辙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)气忠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門邻储,熙熙樓的掌柜王于貴愁眉苦臉地迎上來未桥,“玉大人,你說我怎么就攤上這事芥备。” “怎么了舌菜?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵萌壳,是天一觀的道長。 經(jīng)常有香客問我日月,道長袱瓮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任爱咬,我火速辦了婚禮尺借,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘精拟。我一直安慰自己燎斩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布蜂绎。 她就那樣靜靜地躺著栅表,像睡著了一般。 火紅的嫁衣襯著肌膚如雪师枣。 梳的紋絲不亂的頭發(fā)上怪瓶,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機(jī)與錄音践美,去河邊找鬼洗贰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛陨倡,可吹牛的內(nèi)容都是我干的敛滋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼玫膀,長吁一口氣:“原來是場噩夢啊……” “哼矛缨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帖旨,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤箕昭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后解阅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體落竹,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年货抄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了述召。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朱转。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖积暖,靈堂內(nèi)的尸體忽然破棺而出藤为,到底是詐尸還是另有隱情,我是刑警寧澤夺刑,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布缅疟,位于F島的核電站,受9級特大地震影響遍愿,放射性物質(zhì)發(fā)生泄漏存淫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一沼填、第九天 我趴在偏房一處隱蔽的房頂上張望桅咆。 院中可真熱鬧,春花似錦坞笙、人聲如沸岩饼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽忌愚。三九已至,卻和暖如春却邓,著一層夾襖步出監(jiān)牢的瞬間硕糊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工腊徙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留简十,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓撬腾,卻偏偏與公主長得像螟蝙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子民傻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 大白健康系統(tǒng)--iOS APP運(yùn)行時(shí)Crash自動(dòng)修復(fù)系統(tǒng) 前言 大白(Baymax)胰默,迪士尼動(dòng)畫《超能陸戰(zhàn)隊(duì)》中...
    鼠犬玉閱讀 17,443評論 22 158
  • 寫在最前面 UITableView是iOS開發(fā)最常用的類,用起來很方便漓踢,但使用不當(dāng)也很容易引起Crash牵署,UICo...
    AlexTing雜貨店閱讀 5,821評論 3 6
  • 背景 眾所周知,對于移動(dòng)客戶端而言喧半,crash對于用戶是一種非常糟糕的體驗(yàn)奴迅,crash率對于一款移動(dòng)應(yīng)用而言也是一...
    東野浪子閱讀 7,327評論 2 8
  • 句子:有些人,再怎么等也終究不會(huì)等到了挺据,因?yàn)樗呀?jīng)得到了自己想要的取具。名字:穆念慈 夢里面脖隶,你與我削竹為蕭,拾木為琴...
    狐則閱讀 328評論 0 0
  • 心理健康暇检,需要付出代價(jià)的产阱,而最常見的代價(jià)就是----我不再是眾人口碑中的好人。 村上春樹如是說:不管全世界怎么...
    遇見活在當(dāng)下的自己閱讀 150評論 0 0