[更]iOS開發(fā)-常見的編譯库快、崩潰錯(cuò)誤、實(shí)用技巧

寫在前面:作為程序猿钥顽,在開發(fā)的過程中肯定會(huì)遇到各種編譯報(bào)錯(cuò)义屏,崩潰問題。一個(gè)好的程序猿會(huì)根據(jù)控制臺給出的提示快速的解決問題蜂大。下面一起來看看各種錯(cuò)誤吧:

文件丟失

1.error: /Users/apple/Downloads/xxx.png: No such file or directory

這個(gè)錯(cuò)誤是xxx圖片被不在項(xiàng)目的目錄下闽铐,解決:(1)將該圖片add到項(xiàng)目的目錄下;(2)直接將紅色名字的圖片刪除奶浦。

編譯錯(cuò)誤

1.error:linker command failed with exit code 1 (use -v to see invocation) -no_pie and -bitcode_bundle(Xcode setting ENDBLE_BITCODE=YES)cannot be used together;

這個(gè)bitcode是被編譯程序的一種中間形式的代碼兄墅。包含bitcode配置的程序?qū)?huì)在App store上被編譯和鏈接。bitcode允許蘋果在后期重新優(yōu)化我們程序的二進(jìn)制文件澳叉,而不需要我們重新提交一個(gè)新的版本到App store上隙咸。是xcode7 之后更新的。在我們新建項(xiàng)目的時(shí)候默認(rèn)是YES.如果我們的工程需要支持bitcode成洗,則必要要求所有的引入的第三方庫都支持bitcode五督。

對于iOSbitcode是可選的瓶殃。

對于watchOS充包,bitcode是必須的。

對于Mac OS碌燕,bitcode不支持误证。

解決:我們可以在”Build Settings”->”Enable Bitcode”選項(xiàng)中看到這個(gè)設(shè)置继薛,并將它設(shè)置為NO

2.The operation couldn't be completed.(LaunchServicesError error 0.)

這個(gè)問題出現(xiàn)的原因:修改了Bundle ID.

解決:重新啟動(dòng)iOS模擬器

3.XCODE中錯(cuò)誤: Undefined symbols for architecture i386 error

原因:出現(xiàn)Undefined symbols for architecture i386這種錯(cuò)誤一般是你用模擬器作為目標(biāo)愈捅,但編譯的時(shí)候找不到相關(guān)的庫文件遏考。

解決:需要做的就是把庫文件所在的位置添加到library search path中。

參考:參考 參考

4.編譯出現(xiàn)錯(cuò)誤:linker command failed with exit code 1

ld: warning: ignoring file /Volumes/Xcode/Xcode.app/Contents/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit, missing required architecture armv7 in file

ld: duplicate symbol OBJC_METACLASS$_MMApiRegister in /Users/wangbin/Desktop/00_ios/hezi_ios08/WXSDK/libWeChatSDK.a(WeChatRegister.o) and /Users/wangbin/Desktop/00_ios/hezi_ios08/WXSDK/libWeChatSDK.a(WeChatRegister.o) for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

這個(gè)問題不知道到底是什么回事...(貌似沒適配 armv7)

解決辦法:把.a 文件移除了蓝谨,再重新添加.a文件 灌具,就編譯過了。

5.xcode 真機(jī)調(diào)試錯(cuò)誤:Could not find Developer Disk Image

解決方法:

方法1:拷貝這個(gè)文件點(diǎn)我/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport譬巫,然后重新啟動(dòng)xcode(完全退出)就可以了咖楣。

方法2:更新Xcode到7.2版本。

6.Unknown class XXViewController in Interface Builder file. 問題處理芦昔。

7.問題:apple Mach-o Linker error 诱贿。

解決:通常是compile source 中有相同的.m文件。

8.問題:真機(jī)調(diào)試出現(xiàn)failed to get the task for process.

解決:證書可能出現(xiàn)問題咕缎。(過期珠十,不匹配等)

9.問題:報(bào)錯(cuò)expect a type。

解決:可能出現(xiàn)在.h文件的循環(huán)引用凭豪,包含文件用@class代替即可焙蹭。

10.問題:報(bào)錯(cuò)linker command failed with exit code 1 (use -vto see invocation)

解決L:出現(xiàn)了兩個(gè)完全一樣的m文件,刪除即可嫂伞。(另外:如果代碼中有c或者c++的混編孔厉,也不能在兩個(gè)不同名稱的mm文件中進(jìn)行聲明或者引用,這樣也會(huì)觸發(fā)這個(gè)錯(cuò)誤的發(fā)生)

11.問題:報(bào)錯(cuò)Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]

原因:就是函數(shù)- (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath
這個(gè)函數(shù)的返回值是個(gè)
null
*帖努。

解決:檢查**- (UITableViewCell *)tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath )indexPath
這個(gè)函數(shù)的代碼邏輯撰豺。

12.問題:集成支付寶 warning: (arm64) /Users/scmbuild/workspace/standard-pay/IOS/cp_record_client_release_556515/14 產(chǎn)生一大推警告。

因?yàn)椋篈lipaySDK.framework 是先 build 的靜態(tài) lib 然磷,然后轉(zhuǎn)成的 framework 郑趁,但是在 build 靜態(tài) lib 時(shí) CLANG_ENABLE_MODULES 沒有被設(shè)置成 disabled

解決:如圖

20160113105650658.png
  1. Go to Build Settings -> Build Options -> Debug Information Format

  2. Change the Debug setting from "DWARF with dSYM File" to "DWARF"

  3. Leave the Release setting at "DWARF with dSYM File"

13.問題:集成微信SDK,報(bào)錯(cuò) -[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x170243ba0。

解決:你的工程文件中選擇Build Setting姿搜,在"Other Linker Flags"中加入"-Objc"寡润,其中-ObjC的C要大寫。

文件引用

1.在link with lib 種添加 ** libxml2.dylb 后** 引用不了老是找不到頭文件

解決:找到Project -> Edit Project Settings -> Build Settings舅柜,把“/usr/include/libxml2″添加到“Header Search Paths” 和 “-lxml2″添加到“Other Linker Flags

實(shí)用技巧

1.如何在UITableView上添加手勢實(shí)現(xiàn)點(diǎn)擊TableView收回鍵盤梭纹,并且不與點(diǎn)擊cell事件沖突?有時(shí)候tableView上會(huì)存在輸入控件會(huì)彈出鍵盤致份,需要點(diǎn)擊tableView收回鍵盤变抽。

解決:

(1),設(shè)置鍵盤return key的點(diǎn)擊事件收回鍵盤;

(2)绍载,當(dāng)某些需求必須要點(diǎn)擊table收回鍵盤的時(shí)候诡宗,就可以試試給tableView添加手勢。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touchTableView)];

tap.cancelsTouchesInView = NO;

[tableV addGestureRecognizer:tap];

tap.cancelsTouchesInView = NO; 這句很重要击儡,cancelsTouchesInView系統(tǒng)默認(rèn)為YES.就是當(dāng)手點(diǎn)擊的時(shí)候接受到了這個(gè)手勢點(diǎn)擊事件塔沃,其他的view是否能接收點(diǎn)擊事件。如果不設(shè)置為NO,那你點(diǎn)擊cell之后是不會(huì)觸發(fā)table的回調(diào)點(diǎn)擊方法的阳谍。設(shè)置為NO之后蛀柴,就不會(huì)和點(diǎn)擊cell沖突了。


這篇文章會(huì)一直更新下去矫夯,只要碰到問題或看到問題都會(huì)更到文章上鸽疾,并貼出答案。(大家要可以把你們碰到的問題以及解決辦法評論在文章下面训貌,我看到之后制肮,會(huì)貼到文章上,并@你递沪,這文章主要是起沉淀作用弄企,自己以后碰到問題也許能在這找到答案,也能幫助同行的程序猿区拳。問題無法解決的或者是答案有誤的,歡迎大家指出意乓,好及時(shí)作出更正)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末樱调,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子届良,更是在濱河造成了極大的恐慌笆凌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件士葫,死亡現(xiàn)場離奇詭異乞而,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)慢显,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門爪模,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荚藻,你說我怎么就攤上這事屋灌。” “怎么了应狱?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵共郭,是天一觀的道長。 經(jīng)常有香客問我,道長除嘹,這世上最難降的妖魔是什么写半? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮尉咕,結(jié)果婚禮上叠蝇,老公的妹妹穿的比我還像新娘。我一直安慰自己龙考,他們只是感情好蟆肆,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晦款,像睡著了一般炎功。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缓溅,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天蛇损,我揣著相機(jī)與錄音,去河邊找鬼坛怪。 笑死淤齐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的袜匿。 我是一名探鬼主播更啄,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼居灯!你這毒婦竟也來了祭务?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤怪嫌,失蹤者是張志新(化名)和其女友劉穎义锥,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岩灭,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拌倍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了噪径。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柱恤。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熄云,靈堂內(nèi)的尸體忽然破棺而出膨更,到底是詐尸還是另有隱情,我是刑警寧澤缴允,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布荚守,位于F島的核電站珍德,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏矗漾。R本人自食惡果不足惜锈候,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敞贡。 院中可真熱鬧泵琳,春花似錦、人聲如沸誊役。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛔垢。三九已至击孩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鹏漆,已是汗流浹背巩梢。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艺玲,地道東北人括蝠。 一個(gè)月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像饭聚,于是被迫代替她去往敵國和親忌警。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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