常遇到的一些Crash和Bug

一,Unknown type name ....

如果是報(bào)這個(gè)錯(cuò)誤尼酿,多半是你的對(duì)象類型沒(méi)有被識(shí)別爷狈,檢查是不是沒(méi)有引用對(duì)應(yīng)的庫(kù)或者頭文件在你的文件頭部分,還有可能是循環(huán)引用導(dǎo)致的裳擎,循環(huán)引用的解決方法就是

Class A 中用import Class B

Class B的.h頭文件里用@class A;

.m文件里再用import

二涎永,EXC_BAD_ACCESS

首先說(shuō)一下 EXC_BAD_ACCESS 這個(gè)錯(cuò)誤,可以這么說(shuō),90%的錯(cuò)誤來(lái)源在于對(duì)一個(gè)已經(jīng)釋放的對(duì)象進(jìn)行release操作羡微。

Objective-C這段代碼有三個(gè)致命問(wèn)題:1谷饿、內(nèi)存泄露;2妈倔、錯(cuò)誤釋放博投;3、造成 EXC_BAD_ACCESS 錯(cuò)誤启涯。

1贬堵, NSString* s = [[NSString alloc]initWithString:@”This is a test string”]; 創(chuàng)建了一個(gè) NSString Object,隨后的 s = [s substringFromIndex:[s rangeOfString:@"a"].location]; 執(zhí)行后结洼,導(dǎo)致創(chuàng)建的對(duì)象引用消失黎做,直接造成內(nèi)存泄露。

2松忍,錯(cuò)誤釋放蒸殿。[s release]; 這個(gè)問(wèn)題,原因之一是一個(gè)邏輯錯(cuò)誤鸣峭,以為 s 還是我們最初創(chuàng)建的那個(gè) NSString 對(duì)象宏所。第二是因?yàn)閺?substringFromIndex:(NSUInteger i) 這個(gè)方法返回的 NSString 對(duì)象,并不需要我們來(lái)釋放摊溶,它其實(shí)是一個(gè)被 substringFromIndex 方法標(biāo)記為 autorelease 的對(duì)象爬骤。如果我們強(qiáng)行的釋放了它,那么會(huì)造成 EXC_BAD_ACCESS 問(wèn)題莫换。

3霞玄, EXC_BAD_ACCESS。由于 s 指向的 NSString 對(duì)象被標(biāo)記為 autorelease, 則在 NSAutoreleasePool 中已有記錄拉岁。但是由于我們?cè)谇懊驽e(cuò)誤的釋放了該對(duì)象坷剧,則當(dāng) [pool drain] 的時(shí)候,NSAutoreleasePool 又一次的對(duì)它記錄的 s 對(duì)象調(diào)用了 release 方法喊暖,但這個(gè)時(shí)候 s 已經(jīng)被釋放不復(fù)存在惫企,則直接導(dǎo)致了 EXC_BAD_ACCESS問(wèn)題。

三:Implicit conversion of an Objective-C pointer to 'int *' is disallowed with ARC

這個(gè)就是自己寫(xiě)錯(cuò)了 int 不帶指針陵叽。狞尔。。sb了

四:No unexpired provisioning profiles found that contain any of the keychain's singing certificates

此時(shí)需要檢查下巩掺,

Organizer->Devices->Provisioning?Profiles中的App Identifier的com及之后部分是否與TARGETS->Summary->iOSApplication Target->Bundle Identifier 相符沪么,特別是后面的項(xiàng)目名稱。

五:Incorrect NSStringEncoding value 0x0000 detected. Assuming NSASCIIStringEncoding. Will stop this compatiblity mapping behavior in the near future.

1:當(dāng)一個(gè)字符串為null時(shí)锌半,它不能被正常地使用,否則會(huì)報(bào)如下錯(cuò)誤

錯(cuò)誤案例:當(dāng)nstrPublicUrl==null時(shí),如果我們寫(xiě)下如下代碼刊殉,就會(huì)報(bào)如上警告殉摔。

[objc]view plaincopy

//錯(cuò)誤的案例,nstrPublicUrl==nil時(shí)

NSString*nstrUrl?=?[NSStringstringWithFormat:@"%@%@",nstrPublicUrl,ACCOUNT_URL];?

說(shuō)編碼問(wèn)題的

request.defaultResponseEncoding?=?NSUTF8StringEncoding

說(shuō)超時(shí)的

request.timeOutSeconds=60;

說(shuō)數(shù)據(jù)太大的

反正都沒(méi)大的效果

六:[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '' of class 'UIImage'.? Note that dictionaries and arrays in property lists must also contain only property values.

NSUserDefault can only store property listed values. 只能保存指定的類型比如NSData记焊、NSString逸月、NSNumber、NSDate遍膜、NSArray碗硬、NSDictionary如果你要保存其他類型或者自定義類型需要用到archiver. 自己需要寫(xiě)encode和decode兩個(gè)method

參考:http://blog.csdn.NET/sjx19871225/article/details/8589204

七:pngcrush caught libpng error,Not a PNG file Could not find file

While reading /XXX/XXX/XXX/img1.png pngcrush caught libpng error: ??Not a PNG filCould not find file: /Users/XXX/Library/Developer/Xcode/DerivedData/CookBookDemo-cnttcobrbmvbddeiesgsxnfwihfe/Build/Products/Debug-iphoneos/CookBookDemo.app/img1.pngCommand /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng emitted errors but did not return a nonzero exit code to indicate failure

原因瓢颅,就是引入的png圖片恩尾,圖片內(nèi)部編碼不符合真正的png格式。(很可能就是jpg圖片修改了一下后綴名)挽懦。

解決方法也很簡(jiǎn)單了翰意,就是用正宗png。

?八:[****ViewController respondsToSelector:]: message sent to deallocated instance

原因解析:

某個(gè)公共類或系統(tǒng)提供的控件信柿,存在delegate方法冀偶,當(dāng)創(chuàng)建此公共控件的容器類已經(jīng)銷毀,

而這個(gè)控件對(duì)應(yīng)的服務(wù)是在其它run loop中進(jìn)行的渔嚷,控件銷毀或者需要進(jìn)行狀態(tài)通知時(shí)进鸠,依然按照

delegate的指針去通知,則會(huì)出現(xiàn)這個(gè)問(wèn)題形病。

本問(wèn)題解法:

在第一個(gè)AViewcontroller的時(shí)候放置UINavigationController,卻在進(jìn)入第三個(gè)CViewcontroller的時(shí)候?qū)崿F(xiàn)了協(xié)議UINavigationDelegate客年,然后在CViewController中實(shí)現(xiàn)了協(xié)議的方法–?navigationController:willShowViewController:animated:

所以當(dāng)pop到CViewController之前的view后,再pop的時(shí)候會(huì)調(diào)用villShowViewController:animated窒朋,但是CViewController已經(jīng)不存在了搀罢,故報(bào)錯(cuò)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市侥猩,隨后出現(xiàn)的幾起案子榔至,更是在濱河造成了極大的恐慌,老刑警劉巖欺劳,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唧取,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡划提,警方通過(guò)查閱死者的電腦和手機(jī)枫弟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鹏往,“玉大人淡诗,你說(shuō)我怎么就攤上這事。” “怎么了韩容?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵款违,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我群凶,道長(zhǎng)插爹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任请梢,我火速辦了婚禮赠尾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毅弧。我一直安慰自己气嫁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布形真。 她就那樣靜靜地躺著杉编,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咆霜。 梳的紋絲不亂的頭發(fā)上邓馒,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音蛾坯,去河邊找鬼光酣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脉课,可吹牛的內(nèi)容都是我干的救军。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼倘零,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼唱遭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呈驶,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拷泽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后袖瞻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體司致,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年聋迎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脂矫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡霉晕,死狀恐怖庭再,靈堂內(nèi)的尸體忽然破棺而出捞奕,到底是詐尸還是另有隱情,我是刑警寧澤佩微,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布缝彬,位于F島的核電站,受9級(jí)特大地震影響哺眯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扒俯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一奶卓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撼玄,春花似錦夺姑、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荔茬,卻和暖如春废膘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慕蔚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工丐黄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孔飒。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓灌闺,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親坏瞄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子桂对,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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