CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境
参考网站
gem介绍:gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem源来查找、安装、升级和卸载软件包,非常的便捷。
检测是否安装Ruby,如果报错,请保证Xcode.app在Applications路径下且没有被重命名
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ gem -v
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
2.0.14.1
查看安装的Ruby源
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ gem source -l
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
*** CURRENT SOURCES ***
开始安装CocoaPods
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ sudo gem install cocoapods
Password:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Successfully installed cocoapods-1.2.0
Parsing documentation for cocoapods-1.2.0
1 gem installed
创建项目
cd 到你的工程根目录下,执行运行命令,然后就会生成podfile文件了
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod init
Podfile内容
# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'
target 'MyCocoaPodDemo' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for MyCocoaPodDemo
# 这样写表示下载3.1.0版本
pod 'AFNetworking', '~> 3.1.0'
# 这样写表示下载最新版本
pod 'MJRefresh'
# 单引号不能删,否则报错Podfile不合法
pod 'SAMKeychain'
end
在podfile文件增加所需的第三方库,然后执行以下命令
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod install
1.分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。
如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
2.下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
3.生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,
CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
4.整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。
如果需要引入或删除类库,只需要修改Profile文件后执行以下命令即可
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod update
输出内容同上
如果需要模糊搜索第三方库,可以执行以下代码
Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod search MJRefresh
执行wq命令或者ctrl+z可以退出编辑模式,输入其他命令
在使用时,导入第三方库,应是 < >
#import <UIImageView+WebCache.h>
#import <AFNetworking.h>
常见问题
install,update速度慢
出现原因:你本地的repo库太长时间没有更新了
解决办法:pod repo update
原因在于当执行以上两个命令的时候会升级CocoaPods的specs仓库,如果不想在install,update的时候升级specs库,可以使用参数忽略掉
pod install --no-repo-update
pod update --no-repo-update[!] Please close any current Xcode sessions and use
MyDemo.xcworkspace
for this project from now on.
这句话的意思是:以后打开工程就用 MyDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。你也许会郁闷,为什么会出现.xcworkspace文件呢。这正是你刚刚运行pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。点击 MyDemo.xcworkspace 打开工程之后,你会发现工程目录多了一些,你会惊喜地发现,AFNetwoking和MJRefresh已经成功导入项目了!如果是OC项目,只需在使用的文件中导入该类库的头文件即可。