一、安装cocoapods:
CocoaPods是以Ruby gem包的形式被安装的。在安装执行的过程中,可能会问我们是不是更新rake,输入y即可。这是因为rake gem包会在安装的过程中检查更细,如果有可用的新版本就会出现刚才的选项。
安装cocoapods
$ sudo gem install cocoapods
如果提示没有权限就执行如下命令:
$ sudo gem install -n /usr/local/bin cocoapods
在安装进程结束的时候,执行命令:
$ pod setup
gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级gem,执行下述命令即可:
$ sudo gem update --system
安装完成后需要更新Ruby的源,用如下的代码将官方的Ruby的源替换成国内淘宝的源:
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
要想验证是否替换成功了,可以执行:
$ gem sources -l
正常的输出是:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
升级cocoapods:
升级很简单,再次执行安装命令即可:
$ sudo gem install cocoapods
如果提示没有权限就使用如下命令:
$sudo gem install -n /usr/local/bin cocoapods
二、cocoapods的使用
1、创建Podfile文件
CocoaPods的一切都是从一个名为Podfile的文件开始的,我们需要创建这个文件(把Podfile文件放在工程目录下):
$ cd Desktop/YF
$ touch Podfile
2、编辑Podfile文件,根据需要,我们可以在Podfile文件中写入需要用到的第三方库(如果指定版本就下载指定版本的,如果不指定版本就下载最新的版本)
注:编辑Podfile文件一定要用英文标点符号,否则会报链接错误
platform :ios, '8.0' # ios系统版本
inhibit_all_warnings! #禁止第三方库显示警告
use_frameworks!#swift框架不支持生成.a文件,所以加上这句让其生成.frameworks
target 'YMShare' do
pod 'GPUImage'
pod 'AFNetworking'#网络请求
pod 'MJRefresh' #上下拉刷新
pod 'FMDB'
pod 'SVProgressHUD' #alert提醒
pod 'Masonry' #屏幕适配
pod 'SDWebImage' #加载网络图片
pod 'SAMKeychain' #缓存本地账号密码, 自动登录
pod 'IQKeyboardManager' #键盘管理
end
3、执行导入命令
$ pod install
注意:(如果添加新的库需要执行导入命令:pod install)
1、使用Cocoapods生成的.xcworkspace文件来打开工程,而不是以前的.xcodeproj文件。
2、每次更改了Podfile文件,你都需要重新执行一次pod update命令
(更新单个库:pod update MJRefresh)。
无论是执行pod install还是pod update都很慢,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
3、在项目中添加依赖库之后,是不能直接找到头文件的,需要进行设置:
Target > Build Setting > User Header Search Paths 中添加变量:${SRCROOT},并设置recursive.
三、移除Cocoapods
1、编辑Podfile文件,清除里面所有库,然后终端输入:pod install。这时会清空第三方库和相关依赖库。2、删除之前的4个文件,Podfile、Podfile.lock、Pods文件夹和.xcworkspace文件。
3、然后打开.xcodeproj,删除项目中的libpods.a和Pods.xcconfig引用。
4、TARGETS - Build Phases 删除有关pods的选项,至此完成删除
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用过程中遇到的问题:
1、
当把CocoaPods生成的workspace移动到上层目录时遇到这个问题:
- Could not automatically select an Xcode project. Specify one in your Podfile like so:
- xcodeproj 'path/to/Project.xcodeproj'
在Podfile文件里指定下工程目录就行了,比如我在Podfile文件添加这行就行了:
workspace ‘YF.xcworkspace'
上面的workspace ‘YF.xcworkspace’的意思是:指定‘YF.xcworkspace’这个工作空间的位置在打开的文件夹的根目录(相对路径)
2、
这两个警告直接导致报错:
library not found for -lPods
解决办法:在Build Settings -> Other linker flags 中添加$(inherited)
3、use_frameworks! 的作用是告诉CocoaPods使用.frameworks来代替.a静态库。但是会导致报错:Framework not found AFNetworking