CocoaPods安装和使用并遇到的坑

·  阅读 3460

写在前面

因换了一台新电脑需重新安装CocoaPods. 本人电脑系统版本为:macOS Big Sur 版本 11.2.3. Xcode版本为:Version 12.4.

一. 先把ruby源搞定

安装CocoaPods,需要ruby环境,然而Mac系统默认会安装好ruby环境.打开Mac终端输入:

gem sources -l //查看ruby源
复制代码

默认情况下:会显示

https://rubygems.org/
复制代码

ruby源在墙内是访问不到的,需要置换为国内,原来一直用的是淘宝的,由于淘宝源不再更新,所以不在使用,现在用下面这个

//删除原始的源
gem sources --remove  https://rubygems.org/
//添加新源(国内Ruby镜像)
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版本为

gem -v           //查看版本
3.2.9
复制代码

不升级在下面步骤可能会报很多错误的,因为Gem版本太低,无法安装CocoaPods.

三. 安装CocoaPods

sudo gem install -n /usr/local/bin cocoapods  
复制代码

查看版本:如果有版本号,则说明已经安装成功

   pod --version  //目前我的版本号为:1.10.1
复制代码

成功后,输入

pod setup   //这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地
复制代码

检测是否安装成功:可以利用搜索AFNetworking来检测是否能搜索到

检测结果:

pod search AFNetworking
Creating search index for spec repo 'master'.. Done!
复制代码

第一次会出现上面的 Creating search index for spec repo 'master'.. 等到 出现 Done 后 就会出现我们搜索的结果,再次输入命令就不会出现这行代码了,直接就能搜索了

假如 pod search AFNetworking 竟然不好使了,报以下错误

[!] CDN: trunk - Cannot perform full-text search because Algolia returned an error: 0: Cannot reach any host: execution expired, execution expired, execution expired, execution expired
复制代码

可以用终端执行命令 pod repo remove trunk 恢复正常,完美,可以搜索了.

到此就代表 CocoaPods 真正安装成功!

四. 利用cocoapods来安装第三方框架

  • 1.进入要安装框架的项目的.xcodeproj同级文件夹

  • 2.在该文件夹中新建一个文件Podfile, 执行如下命令

    pod init 
    或者
    touch Podfile
    复制代码

    在文件中输入自己需要的第三方项目库,我们以 AFNetworking 为例

    platform :ios, '9.0'
    target 'MyApp' do
      pod 'AFNetworking', '~> 4.0.1'
    end
    复制代码

    解释:

    • platform : ios, '9.0'代表当前AFNetworking支持的iOS最低版本是iOS 9.0,
    • MyApp就是你自己的工程名字,
    • pod 'AFNetworking', '~> 4.0.1'代表要下载的AFNetworking版本是4.0.1及以上版本,还可以去掉后面的'~> 4.0.1',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版.
  • 3.执行pod,终端输入 pod install

pod install
复制代码
  • 4.导入第三方库 --no-repo-update : 不更新仓库,迅速加载第三方框架

    pod install --no-repo-update
    pod update --no-repo-update
    复制代码
  • 5.CocoaPods中删除不需要的第三方库

    • 打开Podfile, 找到不需要的类库, 直接删除该类库信息

    比如要删除SDWebImage库 ,直接去Podfilepod 'SDWebImage',’~> 4.0.0'

    • 打开终端cd到当前项目的根目录下重新执行
    pod update --no-repo-update
    复制代码
    • 更新完成就删除成功

五. 跳过pod setup快速安装

在网络不允许的情况下,执行pod setup这一步, 感觉很慢..... 前面说了,pod setup 这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地. 简单说就是下载一个包,到本地,也就是这个东西 如果你同事电脑上有安装好,你其实可以从你同事电脑上拷贝过来,直接放到该路径就OK了. 如果你身边没有装好的CocoaPods的朋友,可以访问这个链接 github.com/CocoaPods/S… (github所有的第三方开源库的Podspec文件都托管在这里,这也是你pod setup所要下载的). 选择Download ZIP. 解压后为这个样子

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

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

写在后面

最后和谐学习,不急不躁.我还是我,颜色不一样的烟火.

在新版本的 cocoapods 使用时,请指定源

source 'https://github.com/CocoaPods/Specs.git'
复制代码
分类:
iOS
标签:
分类:
iOS
标签: