CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库,轻松管理第三方库的版本。
CocoaPods安装步骤
1. 查看Ruby版本,升级Ruby环境
CocoaPods是基于ruby ecosystem的,需要ruby环境,使用ruby的gem命令。所以我们的系统要有ruby环境。然而Mac系统默认会安装好ruby环境。可在终端ruby -v查看ruby版本:
先查看一下ruby的版本
//查看ruby版本
ruby -v 或者 ruby --version
//输出信息
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
看能不能直接升级系统的gem
gem update --system
如果不行,看能不能直接更新rubygems
sudo gem install rubygems-update
如果失败
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
则执行
sudo gem install -n /usr/local/bin cocoapods
2. 更换Ruby镜像
gem sources -l
查看ruby源
发现这是国外的源,在中国是被屏蔽了的,所以要替换为国内的源
移除国外的源
gem sources --remove https://rubygems.org/
添加国内的源
gem sources -a https://gems.ruby-china.org/
gem sources -l
查看是否替换成功
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
3. 安装CocoaPods
sudo gem install cocoapods
报错:
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory.
说明是一些系统权限的原因,换成
sudo gem install -n /usr/local/bin cocoapods
就行了。
4. 更新索引仓库
pod setup
把最新的类库信息拉取到本地spec文件,因为CocoaPods每次查找类库是从本地查找的,如果要保持查找到的类库是最新的,需要更新索引仓库。这个过程会比较慢。
然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。 你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M) 当出现Setup completed的时候说明已经完成了。
5. 查看pod版本
pod --version
6. 查找第三方库
输入pod search AFNetworking
,则能查找到相应第三方库,如下:
按q即可退出
如果搜索不到
1、请先进行:pod setup
2、再清空一下搜索索引,让pod重建索引:
rm ~/Library/Caches/CocoaPods/search_index.json
这是因为之前pod search的时候生成了缓存文件search_index.json
然后再次输入pod search AFNetworking进行搜索
7. 创建Podfile文件
新建一个工程,cd到工程根目录下,pod init会创建一个podfile文件,
vim Podfile
,按i进入编辑模式,ESC退出编辑,然后冒号,再wq就可以退出podfile文件了。
双击podfile文件,直接粘贴第三方库内容进去,保存。
用cocoapods 导入swift 框架,必须要 use_frameworks!。
use_frameworks!使用 dynamic frameworks 来取代 static libraries 方式.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target 'SwiftUIDemo' do
pod 'MJRefresh', '~> 3.1.15.3'
pod 'Alamofire', '~> 4.7.1'
pod 'SDWebImage', '~> 4.3.3'
end
8. 安装第三方库
pod install
安装所有再podfile文件中的类库,如图
执行完成之后,工程根目录下就会出现一个.xcworkspace
的文件,点击就能打开工程了。
******* 扩展 *******
1、 再swift项目中引入OC库,需要创建一个桥接文件
1. command + n 选择Header File,取一个名字,比如BridgingHeader.h
2.配置桥接文件路径(路径也可以在前面加上$(SRCROOT)/作为相对路径),如图:
2 、配置Search Paths
我们在桥接文件导入第三方库头文件的时候,发现报错,提示找不到头文件,这是因为pod的文件和桥接header文件不是在同一个目录下面,所以需要配置User Header Search Paths。
在target->Build Setting里面找到search Paths,双击User Header Search Paths后面空白的地方,设置目录的路径${SRCROOT},然后选择后面的recursive,如图:
image.png
这样,在桥接文件里就可以成功的导入第三方库的头文件了。
网友评论