### 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拋出,比如啟動或終止超時,或者是響應系統事件超時。