標籤:ios異常 ios錯誤 ios常見錯誤
-來自收藏總結 綜合了好多的常見錯誤
1:clang failed with exit code 254
一:檢測代碼中 是否 有 NSLog 列印了 返回 void 的值.
2:Verify exit code of build task with internal identifier ‘CopyPNGFile 123.png‘
一:將出錯的png,用PhotoShop重新轉換一次, 如果PhotoShop打不開,改尾碼為Jpg 試試. 轉換時,請使用 :儲存為Web或裝置所使用的格式格式轉換成 PNG-24這樣的圖片大小比較合適
3:
一:確定靜態庫中是否有自訂的類檔案,如果一個也沒有,就會出現這種錯誤,這也是為什麼建立的靜態庫都包含一個預設的類.
4: _OBJC_CLASS_$_UIMainKpiXML", referenced from:
1:檢測類檔案是否已經指定了Project Target
2:檢測類檔案是否在Bulid Phases 中的 Compile Source 是否包含了這個類檔案
以上兩步都檢查完成以後,如果編譯還報錯誤,請嘗試徹底關閉XCode 再次編譯試試.
5: for architecture armv7s
以下摘自: http://stackoverflow.com/questions/12570116/what-is-the-difference-between-arm7-and-arm7s
Yes you are right about armv7s is about the iPhone 5. Here some summary info I found on the web:
- ARMv6 ISA (used by the ARM11 core in the iPhone 2G and iPhone 3G)
- ARMv7 (used by modern ARM cores, iPhone 3GS, iPhone 4 and 4S)
- ARMv7s (new A6 SoC for iPhone 5).
注:錯誤含義表示 指定的framework 不支援對 armv7s 的支援, 也就不支援搭載A6處理器的iPhone 5.
如果在編譯framework或者靜態庫的工程中依舊編譯時間,可能是以下設定導致,設定為NO即可
6: Local declaration of ‘‘ hides instance variable
1:私人變數與屬性變數同名所致
7:Instance variable ‘‘ accessed in class method
1:在靜態方法不能使用到類的屬性變數,否則就報上面的錯誤
8:ld: symbol(s) not found for architecture i386
1:裡面意思說:"_stroyboard" 這個屬性在目標類中 根本就沒聲明!
那就聲明一下咯? 注:XCode4.5 會預設聲明了,但是只是針對自訂類,系統類別還沒有. 所以,小心
- @synthesize storyboard;
9:PerformSelector may cause a leak because its selector is unknown
通過如下代碼解決產生的編譯器警告
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
- [self performSelector:nextView];
- #pragma clang diagnostic pop
來源:(http://www.ooso.net/archives/620)
10:unable to open executable
1:檢測同一個靜態庫或工程中是否有兩個或以上的想同類檔案存在
2:刪除模擬器中的應用,刪除DerivedData檔案夾 重新啟動XCode.
11: Property‘s synthesized getter follows Cocoa naming convention for returning ‘owned‘ objects
不要在標頭檔聲明變數命名是以new copy開頭
參考:http://kongbei888.blog.163.com/blog/static/24326613201261902510652/
12:ld: file not found:
1:指向的靜態庫沒有找到
14: _utf8_countTrailBytes
add library libicucore.dylib
15:Stray "@" in program
工程使用的編譯器版本過低所致. 修改編譯器版本至最新版本,如:
參考:http://stackoverflow.com/questions/12821938/stray-in-program-with-nsdictionary-definition
16.解決真機調試iPad Air裝置時的錯誤:architecture not supported的辦法1.將Build Settings 中Architectures ——> Valid Architectures的arm64刪掉,只留armv7、armv7s
2.同上,將Architectures ——>Architectures改為 $(ARHS_STANDARD)armv7,armv7s
3.把Build Active Architecture Only 改為NO
4.編譯即可
17.編譯時間出現:Not supported ARM architecture
解決辦法:在./configure 時加入 -D__ARM_ARCH_5TEJ__
另外一篇:Android常見錯誤分析
本文一直更新希望大家踴躍回複自己知道的常見error 來參與本文的更新^_^