2020年CocoaPods安装和使用并遇到的坑

本人电脑系统版本为: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来安装第三方框架

  1. 进入要安装框架的项目的.xcodeproj同级文件夹
  2. 在该文件夹中新建一个文件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. 解压后为这个样子
2020年CocoaPods安装和使用并遇到的坑_第5张图片
image.png

对比上图,Specs-master改名为master 放在 ~/.cocoapods/repos 路径即可.

~/.cocoapods/repos 这个路径是在执行 pod setup生成的,所以电脑无法前往此路径是,建议先pod setup下,然后关闭掉即可生成路径.

你可能感兴趣的:(2020年CocoaPods安装和使用并遇到的坑)