- 如何屏蔽警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
//-Warc-performSelector-leaks為唯一的警告辨別
[self performSelector:selector withObject:nil];
#pragma clang diagnostic pop
- 如何處理異常
01 一般處理方式:
a.app異常閃退,那麼捕獲crash資訊,并記錄在本地沙盒中。
b.當下次使用者重新打開app的時候,檢查沙盒中是否儲存有上次捕獲到的crash資訊。
c.如果有那麼利用專門的接口發送給伺服器,以求在後期版本中修複。
02 如何抛出異常
//抛出異常的兩種方式
// @throw [NSException exceptionWithName:@"好大一個bug" reason:@"異常原因:我也不知道" userInfo:nil];
//方式二
NSString *info = [NSString stringWithFormat:@"%@方法找不到",NSStringFromSelector(aSelector)];
//下面這種方法是自動抛出的
[NSException raise:@"這是一個異常" format:info,nil];
03 如何捕獲異常
NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
void UncaughtExceptionHandler(NSException *exception) {
NSArray *arr = [exception callStackSymbols];//得到目前調用棧資訊
NSString *reason = [exception reason];//非常重要,就是崩潰的原因
NSString *name = [exception name];//異常類型
NSString *errorMsg = [NSString stringWithFormat:@"目前調用棧的資訊:%@\nCrash的原因:%@\n異常類型:%@\n",arr,reason,name];
//把該資訊儲存到本地沙盒,下次回傳給伺服器。
}
Cocoapods
1.先更新Gem
sudo gem update --system
2.切換cocoapods的資料源
【先删除,再添加,檢視】
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
gem sources -l
3.安裝cocoapods
sudo gem install cocoapods
或者(如10.11系統)sudo gem install -n /usr/local/bin cocoapods
4.将Podspec檔案托管位址從github切換到國内的oschina
【先删除,再添加,再更新】
pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
5.設定pod倉庫
pod setup
6.測試
【如果有版本号,則說明已經安裝成功】
pod --version
7.利用cocoapods來安裝第三方架構
01 進入要安裝架構的項目的.xcodeproj同級檔案夾(cd /Users/Alan/Desktop/Demo)
02 在該檔案夾中建立一個檔案podfile(touch PodFile)
03 在檔案中告訴cocoapods需要安裝的架構資訊
a.該架構支援的平台
b.适用的iOS版本
c.架構的名稱
d.架構的版本
platform : ios, '9.2'
pod 'SDWebImage', '~>3.9'
注: pod search用于搜尋架構
8.安裝(SDWebImage等架構)
pod install --no-repo-update
pod update --no-repo-update
9.說明
platform :ios, '9.2' 用來設定所有第三方庫所支援的iOS最低版本
pod 'SDWebImage','~>3.9' 設定架構的名稱和版本号
版本号的規則:
'>1.0' 可以安裝任何高于1.0的版本
'>=1.0' 可以安裝任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相當于不指定版本,預設采用最新版本号
10.使用pod install指令安裝架構後的大緻過程:
01. 分析依賴:該步驟會分析Podfile,檢視不同類庫之間的依賴情況。如果有多個類庫依賴于同一個類庫,但是依賴于不同的版本,那麼cocoaPods會自動設定一個相容的版本。
02. 下載下傳依賴:根據分析依賴的結果,下載下傳指定版本的類庫到本地項目中。
03. 生成Pods項目:建立一個Pods項目專門用來編譯和管理第三方架構,CocoaPods會将所需的架構,庫等内容添加到項目中,并且進行相應的配置。
04. 整合Pods項目:将Pods和項目整合到一個工作空間中,并且設定檔案連結。
11.一些安裝過程中的錯誤
01.錯誤:You don't have write permissions for the/usr/bin/director.
解決方式:
sudo gem install -n /usr/local/bin cocoapods
02.錯誤:使用 gem sources -a https://ruby.taobao.org/報錯
解決方法:
gem sources -a https://gems.ruby-china.com/