iOS開發(fā)編譯報錯奉芦、常見問題(實時更新)

一怎诫、報錯與警報

1虐唠、錯誤代碼:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)

build 這個target的時候命令行報錯∩偬可以在 build setting 中城侧,搜索bitcode,并吧 enable bitcode 設置為 NO.

2、ld:framework not found IOKit

終端輸入以下2行內容:

cd/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/IOKit.framework

sudo ln -s Versions/A/IOKit .

其中况增,如果不行赞庶,從文件夾中慢慢打開看下路徑對不對训挡,如果像有修改Xcode名稱的澳骤,注意如 “xcode 5” ?[有空格" “的記得在終端中加上 “\”這個符號];

3澜薄、程序沒問題为肮,運行報錯:Directory not empty

位于/Users/你電腦名/Library/Developer/Xcode/DerivedData下的緩存文件占很大的緩存空間,如果長時間不刪除xcode下的緩存文件肤京,就會導致硬盤空間越來越小直到Directory not empty颊艳。刪除了緩存文件再運行就不會再報錯。

或者忘分,直接clean一次就可以了棋枕。

4、如果遇到編譯錯誤類似:Undefined symbols for architecture armv7:

"_OBJC_CLASS_$_ASIHTTPRequest"妒峦,先檢查上述的依賴代碼是否已加入編譯列表重斑,如未加入,依次點擊Target->Build Phases->Compile Sources肯骇,點擊底部“+”添加上述代碼窥浪。

如果遇到編譯錯誤類似:Undefined symbols for architecture armv7:?? "_inflateEnd", referenced from笛丙,則應該是缺少依賴libz.dylib胚鸯,添加方法:依次點擊Target->Build Phases->Compile Sources,點擊底部“+”镜豹,在彈出的列表中輸入libz趟脂,添加搜索結果中最新版本即可昔期。

5.but did not return a nonzero exit code to indicate failure

日志類似:

解決:

選擇 Build Settings 菜單硼一,把compress PNG files 改成NO般贼。

6.Undefined symbols for architecture i386:

日志類似:(缺少BJGKPaintMapViewController文件的引用)

原因:xcode項目import文件時哼蛆,會根據(jù)project.pbxproj來查找腮介,查找不到文件的引用則會有上述的錯誤端衰。圖中就是BJGKPaintCommand文件對BJGKPaintMapViewController類的引用找不到旅东。常常在多人合作開發(fā)的時候抵代,svn提交不規(guī)范導致的project.pbxproj發(fā)生錯誤主守,使得文件的引用不在project.pbxproj文件中参淫。

解決方案:

a.點擊Build Phases涎才,如果是缺少的xxx是類名,則在Complie Sources中加入該文件跌前。若缺少類庫抵乓,則在Link Binary With Libraries中加入該類庫灾炭。例如圖中是缺少 “BJGKPaintMapViewController”蜈出,這個是類名涛酗。

b.或者直接把需要引用這個缺少類/庫的原文件去掉引用商叹,筆者就是多調用了BJGKPaintCommand類文件沈自,所以把它去掉枯途,也就不需要補上BJGKPaintMapViewController類的引用了酪夷。

---第6點 2016年08月25日補充---

遇到類似以下報錯:

Undefined symbols for architecture i386:

"_sqlite3_bind_blob", referenced from:-[FMDatabase bindObject:toColumn:inStatement:]inFMDatabase.o"_sqlite3_bind_double", referenced from:-[FMDatabase bindObject:toColumn:inStatement:]inFMDatabase.o"_sqlite3_bind_int", referenced from:-[FMDatabase bindObject:toColumn:inStatement:]inFMDatabase.o"_sqlite3_bind_int64", referenced from:-[FMDatabase bindObject:toColumn:inStatement:]inFMDatabase.o"_sqlite3_bind_null", referenced from:-[FMDatabase bindObject:toColumn:inStatement:]inFMDatabase.o"_sqlite3_bind_parameter_count", referenced from:-[FMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:]inFMDatabase.o-[FMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:]inFMDatabase.o

.........

上面的意思是Link Binary With Libraries 中沒有添加 “l(fā)ibsqlite3.dylib”,但是Xcode7中只有對應的“*.tbd”坦报,而沒有“*.dylib庫”片择,怎么辦呢字管?

方法①:

“Link Binary With Libraries”中點擊 “+”嘲叔,點“Add Other”硫戈,這時候按下“Command+Shift+G”丁逝,輸入“/usr/lib”進行搜索果港,可以看到?“l(fā)ibsqlite3.dylib”辛掠,雙擊添加完畢萝衩。

方法②:

點項目猩谊,TAGERT ->?Build Setting?-> Lingking ->?Other Linker Flag 牌捷,在里面添加一行字符: “-lsqlite3”暗甥。 添加完畢撤防。


7辜膝、問題: ld/ warning/ directory not found for option從項目中刪除了某個目錄厂抖、文件以后验游,編譯出現(xiàn)警告信息:ld: warning: directory not found for option“XXXXXX”:

有時候已經從項目中刪除了文件和文件夾還是報這個警告耕蝉,雖然沒有發(fā)生錯誤蒜魄,但是看著很不舒服谈为。伞鲫。

去掉警告的辦法如下:

1選擇工程, 編譯的 (targets)

2選擇 Build Settings 菜單

3如下查找 Library Search Paths 和 Framework Search Paths, 刪掉編譯報warning的路徑即OK吠架。

更新-->

8.Xcode7打包拐辽,iOS9真機閃退薛训,如何解決?

答:點擊鏈接->【Xcode7打包,iOS9真機閃退出吹,如何解決】


----------------2016年7月1日更新---------------

9.報錯如下:

Undefined symbols for architecture i386:

"std::__basic_file::is_open() const", referenced from:...

或者“std::basic_string, std::allocator >::find(wchar_t const*, unsigned long, unsigned long) const", referenced from:”...

然后后面一大堆的以“std:”開頭的描述...

解決方案:項目名 -> Build Phases -> Link Binary With Libraries鸠珠,

將libstdc++.dylib換成libstdc++.6.0.9.dylib就可以了。


二驯耻、常見問題:

1.模擬器的目錄:

點擊“Finder->前往->資源庫->Developer->Xcode->DerivedData可缚,【看不到“資源庫”?點擊“前往”测柠,看到菜單欄時,按“Option”就看到了.】

或者點擊“Finder->前往->前往文件夾”赃阀,輸入:

”/Users/你當前登陸的用戶名/Library/Application Support/iPhone Simulator/“

2.Xcode構建項目多,內存占用大驮俗,如果清除緩存?

a.App被XCode Build在這里:

點擊“Finder->前往->資源庫->Developer->Xcode->DerivedData”,

或者,點擊“Finder->前往->前往文件夾”垒拢,輸入: “/Users/你當前登陸的用戶名/Library/Developer/Xcode/DerivedData”(冒號沒有的)

b.連接真機生成的文件奔垦,可以全部刪掉或者把不常用的版本刪掉,再次連接設備會自動生成:

"~/Library/Developer/Xcode/iOS DeviceSupport"

c.app打包生成的文件,可以刪掉不需要的項目打包文件:

"~/Library/Developer/Xcode/Archives"阔逼。

以上都可以把不需要的app項目刪除嗜浮。或者定時刪除舊的項目。

3.Xcode項目模擬器上png格式的本地圖片正常顯示蛋勺,真機調試不顯示:

可能有2個原因:

(1).圖片的初始狀態(tài)刃泡,不是png的家卖,被自己直接就改成png了趴樱。這樣模擬器OK逛薇,真機就有問題卧秘。

可以使用Mac 系統(tǒng)自帶的圖片預覽導出一下,(就是雙擊圖片蚯涮,點擊左上角:文件->導出->png格式)治专,再重新導入就行了。

(2).真機上文件名是區(qū)分大小寫的遭顶,而模擬器上面是不區(qū)分的张峰,所以模擬器可以,真機不行;


更新-->

4.項目更改一部分資源或者修改部分數(shù)據(jù)后棒旗,再次運行模擬器還是原來的效果喘批,沒有發(fā)生變化:(例如提示找不到某些頭文件。)

按一下:Product -> Clean ,應該是清除一下再編譯嗦哆;

每次項目有數(shù)據(jù)修改谤祖,重新運行前,我都會clean一下老速,避免因為緩存出現(xiàn)的錯誤...這個經常用粥喜,但是clean真正的意思我還沒讀懂它.



(轉載請標明原文出處,謝謝支持 ~ ^-^ ~)

? by:啊左~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末橘券,一起剝皮案震驚了整個濱河市额湘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旁舰,老刑警劉巖锋华,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異箭窜,居然都是意外死亡毯焕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纳猫,“玉大人婆咸,你說我怎么就攤上這事∥咴” “怎么了尚骄?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長侵续。 經常有香客問我倔丈,道長,這世上最難降的妖魔是什么状蜗? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任需五,我火速辦了婚禮,結果婚禮上诗舰,老公的妹妹穿的比我還像新娘警儒。我一直安慰自己,他們只是感情好眶根,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布蜀铲。 她就那樣靜靜地躺著,像睡著了一般属百。 火紅的嫁衣襯著肌膚如雪记劝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天族扰,我揣著相機與錄音厌丑,去河邊找鬼。 笑死渔呵,一個胖子當著我的面吹牛怒竿,可吹牛的內容都是我干的。 我是一名探鬼主播扩氢,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼耕驰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了录豺?” 一聲冷哼從身側響起朦肘,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎双饥,沒想到半個月后媒抠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡咏花,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年趴生,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡冲秽,死狀恐怖舍咖,靈堂內的尸體忽然破棺而出矩父,到底是詐尸還是另有隱情锉桑,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布窍株,位于F島的核電站民轴,受9級特大地震影響,放射性物質發(fā)生泄漏球订。R本人自食惡果不足惜后裸,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冒滩。 院中可真熱鬧微驶,春花似錦、人聲如沸开睡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篇恒。三九已至扶檐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胁艰,已是汗流浹背款筑。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腾么,地道東北人奈梳。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像解虱,于是被迫代替她去往敵國和親攘须。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容

  • 問題1:ARC與MRC混編可以給ARC項目添加MRC標記(-fno-objc-arc)饭寺,也可以給MRC項目添加AR...
    羊妞麻麻閱讀 2,419評論 0 1
  • ios 常見問題解決 一阻课,libxml/HTMLparser.h file not find 第一種方法: 點擊左...
    rlqs閱讀 3,849評論 0 1
  • 新開始呀限煞!新開始要跟以前一樣好又要跟以前不一樣好!以后可能還有很多次這樣的沉默和問題爆發(fā)员凝,不過可能大多數(shù)是我引起嘞...
    霧都與寧閱讀 146評論 1 0
  • 十年前看周星馳大話西游署驻,可以笑的沒心沒肺,而現(xiàn)在看著看著不知不覺就流淚了,想要救紫霞旺上,就必須要打敗牛魔王瓶蚂,想要打敗...
    daijin戴進閱讀 154評論 0 0