本人电脑系统版本为:10.15.4 Xcode版本为:Version 11.4 (11E146)
第一步:先把ruby源搞定。
安装CocoaPods,需要ruby环境,然而Mac系统默认会安装好ruby环境。打开Mac终端输入:
gem sources -l //查看ruby源
默认情况下:会显示
https://rubygems.org/
ruby源在墙内是访问不到的,需要置换为国内,原来一直用的是淘宝的
gem sources -a https://ruby.taobao.org/
由于淘宝源不更新,所有不建议使用,现在用下面这个
//删除之前使用的淘宝
gem sources --remove https://ruby.taobao.org/
gem source -a https://gems.ruby-china.com
只有在终端中出现下面文字才表明你上面的命令是成功的:
https://gems.ruby-china.com added to sources
为了验证你的Ruby镜像是并且仅是gems.ruby-china,可以用以下命令查看:
gem sources -l //检测是否成功
只有在终端中出现下面文字才表明你上面的命令是成功的:
https://gems.ruby-china.com
第二步: 升级Gem.
Gem是来管理Ruby标准包.
sudo gem update --system //升级gem
gem -v //查看版本
目前查看gem版本为
xue@promote ~ % gem -v
3.0.3
不升级在第三步可能,会报很多错误的,因为Gem版本太低,无法安装第三步,安装CocoaPods
第三步:安装CocoaPods
sudo gem install cocoapods // Mac OS X 10.11前 输入这一条
sudo gem install -n /usr/local/bin cocoapods //Mac OS X 10.11后 输入这一条
安装成功后是这样的:
Done installing documentation for thread_safe, tzinfo, concurrent-ruby, i18n, activesupport, nap, fuzzy_match, httpclient, algoliasearch, ffi, ethon, typhoeus, netrc, cocoapods-core, claide, cocoapods-deintegrate, cocoapods-downloader, cocoapods-plugins, cocoapods-search, cocoapods-stats, cocoapods-trunk, cocoapods-try, molinillo, atomos, colored2, nanaimo, xcodeproj, escape, fourflusher, gh_inspector, ruby-macho, cocoapods after 40 seconds
32 gems installed
查看版本:如果有版本号,则说明已经安装成功
pod --version //目前我的版本号为:1.9.1
成功后,输入
pod setup //这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地
成功:Setup completed
检测是否安装成功:可以利用搜索AFNetworking来检测是否能搜索到。
检测结果:
pod search AFNetworking
[!] Unable to find a pod with name, author, summary, or description matching `AFNetworking`
看来搜索不到结果,此时我们可以用
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
Cloning into '/Users/gao/.cocoapods/repos/master'...
remote: Enumerating objects: 1130099, done.
remote: Total 1130099 (delta 0), reused 0 (delta 0)iB | 4.28 MiB/s
Receiving objects: 100% (1130099/1130099), 408.72 MiB | 2.84 MiB/s, done.
Resolving deltas: 100% (563214/563214), done.
Checking out files: 100% (141834/141834), done.
以上操作可能要输入账号密码。
第二种方式:
1, pod repo remove master
2, cd ~/.cocoapods/repos
3, git clone --depth 1 https://github.com/CocoaPods/Specs.git master
4, rm ~/Library/Caches/CocoaPods/search_index.json
5, pod search afnetworking
完成后,再次检测是否能搜索到AFNetworking
pod search AFNetworking
Creating search index for spec repo 'master'.. Done!
第一次会出现上面的 Creating search index for spec repo 'master'.. 等到 出现 Done 后 就会出现我们搜索的结果,再次输入命令就不会出现这行代码了,直接就能搜索了。
到此就代表 CocoaPods 真正安装成功!
第四步:利用cocoapods来安装第三方框架
- 进入要安装框架的项目的.xcodeproj同级文件夹
- 在该文件夹中新建一个文件Podfile, 执行如下命令
pod init
或者
touch Podfile
pod init首先需要判断当前目录有没有 XCODEPROJ 项目,如果没有直接报错;若果有单个 XCODEPROJ 项目,会直接创建一个 Podfile 文件;如果有多个XCODEPROJ 项目,需要指定一个项目,否则会报错:
[!] Multiple Xcode projects found, please specify one
或者手动 新建文件Podfile ,然后编辑Podfile 可执行 vim Podfile
vim Podfile
Podfile文件中, 写入以下内容并保存 。提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)
在文件中输入自己需要的第三方项目库,我们以 AFNetworking 为例
platform :ios, '8.0'
target 'Block--Demo' do
pod 'AFNetworking', '~> 3.1.0'
end
platform : ios, '8.0'代表当前AFNetworking支持的iOS最低版本是iOS 8.0,
MyApp : 就是你自己的工程名字,
pod 'AFNetworking', '~> 3.1.0'代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的'~> 3.1.0',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版。
3:执行pod,终端输入 pod install
pod install
此处有坑......... 安装时候提示如下信息,找了很久找到方法解决
➜ Block--Demo pod install
Analyzing dependencies
Cloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs.git`
[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `cocoapods`.
You can try adding it manually in `/Users/xue/.cocoapods/repos` or via `pod repo add`.
解决以上问题方法,查看 pod list
➜ ~ pod repo list
master
- Type: git (master)
# Uncomment the next line to define a global platform for your project
- URL: https://git.coding.net/CocoaPods/Specs.git
- Path: /Users/xue/.cocoapods/repos/master
1 repo
发现master 的 URL为https://git.coding.net/CocoaPods/Specs.git,
并不是以前的 https://github.cn/CocoaPods/Specs.git 。
于是在Podfile中果断替换source 如下图
再次 pod install 就可以成功。
4.导入第三方库
--no-repo-update : 不更新仓库,迅速加载第三方框架
pod install --no-repo-update
pod update --no-repo-update
第五步,CocoaPods 中删除不需要的第三方库
1: 打开Podfile, 找到不需要的类库, 直接删除该类库信息
比如要删除SDWebImage库 ,直接去Podfile中 pod 'SDWebImage',’~> 4.0.0'
2 :打开终端cd到当前项目的根目录下重新执行
pod update --no-repo-update
3 :更新完成就删除成功。
跳过pod setup快速安装
在网络不允许的情况下,执行pod setup这一步, 感觉很慢.....
前面说了,pod setup 这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地. 简单说就是下载一个包,到本地,也就是这个东西
如果你同事电脑上有安装好,你其实可以从你同事电脑上拷贝过来,直接放到该路径就OK了.
如果你身边没有装好的CocoaPods的朋友,可以访问这个链接
https://github.com/CocoaPods/Specs (github所有的第三方开源库的Podspec文件都托管在这里,这也是你pod setup所要下载的).
选择Download ZIP. 解压后为这个样子
对比上图,Specs-master改名为master 放在 ~/.cocoapods/repos 路径即可.
~/.cocoapods/repos 这个路径是在执行 pod setup生成的,所以电脑无法前往此路径是,建议先pod setup下,然后关闭掉即可生成路径.