- 如何屏蔽警告
#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
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/