iOS常見問題解決方案

### pod setup命令執行錯誤解決

!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...

error: RPC failed; curl 56 SSLRead() return error -36

fatal: The remote end hung up unexpectedly

fatal: early EOF

fatal: index-pack failed

***** BEGIN *****

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developers

# 后面的地址你可以打開Xcode顯示包內容,找到那個文件夾拖到終端里面

$ cd ~/.cocoapods/

$ du -sh * #查看到883M多就可以了

***** END *****


### Foundation報錯

# 可能是項目中用到.c文件,而且你也用了.pch文件

同時適用于pch包含的文件不會包含于c文件中

iOS項目工程,添加一個c文件,編譯報錯,Could not build module 'Foundation'

檢查你的*.pch文件,將#import用#ifdef __OBJC__? ? #endif包裹起來

eg:

#ifdef __OBJC

#import <Masonry/Masonry.h>

#endif


### COCOAPODS安裝教程

$ gem sources —-remove https://rubygems.org

$ gem sources -a https://ruby.taobao.org/

$ gem sources -l

$ sudo gem install cocoapods

$ vim Podfile

$ pod install

$ sudo gem install -n /usr/local/bin cocoapods? #更新cocoapods

$ sudo gem update --system? #更新gem


### 執行pod setup很慢很慢的解決方案

***** BEGIN *****

$ pod install --verbose --no-repo-update

$ pod repo add master https://gitcafe.com/akuandev/Specs.git

$ git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

$ pod repo update

$ cd ~/.cocoapods

$ du -sh #查看pod repo的下載進度

***** END *****


### 安裝cocoapods報錯

ERROR:? Error installing cocoa:

activesupport requires Ruby version >= 2.2.2.

***** BEGIN *****

$ curl -L get.rvm.io | bash -s stable

$ source ~/.bashrc

$ source ~/.bash_profile

$ rvm install 2.2.2

$ rvm -v

***** END *****


### 分析崩潰日志

& tip:Xcode->Product->Analyze => Buildtime 查看分析結果并進行代碼優化.

EXC_BAD_ACCESS:通常用于訪問了不該訪問的內存導致

SIGSEGV: 通常由于重復釋放對象導致,這種類型在切換了ARC以后應該已經很少見到了。

SIGABRT:? 收到Abort信號退出,通常Foundation庫中的容器為了保護狀態正常會做一些檢測,例如插入nil到數組中等會遇到此類錯誤。

SEGV:(Segmentation? Violation),代表無效內存地址,比如空指針,未初始化指針,棧溢出等

SIGBUS:總線錯誤,與 SIGSEGV 不同的是,SIGSEGV 訪問的是無效地址,而 SIGBUS 訪問的是有效地址,但總線訪問異常(如地址對齊問題)

SIGILL:嘗試執行非法的指令,可能不被識別或者沒有權限

SIGTRAP:由斷點指令或其它trap指令產生. 由debugger使用。

SIGTRAP代表陷阱信號。它并不是一個真正的崩潰信號。它會在處理器執行trap指令發送。LLDB調試器通常會處理此信號,并在指定的斷點處停止運行。如果你收到了原因不明的SIGTRAP,先清除上次的輸出,然后重新進行構建通常能解決這個問題

& 在LLDB控制臺上鍵入bt命令打印出回溯信息。

0x8badf00d? 在iOS上,它經常出現在執行一個同步網絡調用而阻塞主線程的情況。因此,永遠不要進行同步網絡調用。這個異常一般是因為系統監視器(watch dog)發現超時現象,終止app拋出,比如啟動或終止超時,或者是響應系統事件超時。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一次安裝CocoaPods也遇到了一些坑,但是 那個時候時間比較緊,沒有抽出時間整理,最近因為電腦還原從新做了系...
    幸福的尾巴__閱讀 8,361評論 7 9
  • CocoaPods 是什么? CocoaPods 是一個負責管理 iOS 項目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 25,743評論 3 50
  • 抹宿終歸過土 不相忘,兩廂傷 靜穆春色年華 互相嘆,春枝椏 一拂媚夏 倫佳人,在他家 殘秋亂,山河碎 一抹慘冬,歸...
    星眠閱讀 221評論 0 2