cocoapodsiOS经验总结

CocoaPods1.9.1和1.8+ 使用 出现CDN: tr

2020-04-28  本文已影响0人  越天高

相信很多朋友最近跟我一样用cocoapods的时候出现了问题,每次更新cocoapods都会有一定的改变,需要我们自己修改,

Cocoapods的安装

因为mac都是自带ruby的所以我们只需要根据下面的步骤来就可以了

1.先升级Gem
   sudo gem update --system
  如果显示
  Latest version already installed. Done.
说明 更新成功
2.切换cocoapods的数据源
    【先删除,再添加,查看】
    gem sources --remove https://rubygems.org/
  //  gem sources -a https://ruby.taobao.org/(淘宝已经不更新了所以这个不可以使用了,我们可以使用,下面这个)
    gem sources --add https://gems.ruby-china.com #添加国内镜像源
(最新的trunk使用的是 https://cdn.cocoapods.org/)
    gem sources -l//查看数据源
3.安装cocoapods
    sudo gem install cocoapods
    或者使用下面的:
    (如10.11系统)sudo gem install -n /usr/local/bin cocoapods
4.将Podspec文件托管地址从github切换到国内的oschina
    【先删除,再添加,再更新】
    pod repo remove master
    pod repo add master http://git.oschina.net/akuandev/Specs.git
    pod repo add master https://gitcafe.com/akuandev/Specs.git
    pod repo update
5.设置pod仓库
  pod setup
  如果出现
  setup这一步会很慢或者无限卡 Setting up CocoaPods master repo,这是因为要在github下载代码,
我这一步一直有问题,查询网上都说要将specs仓库镜像换成gitcafe上的镜像
或者是 oschina 上的镜像即:
 pod repo remove master 
使用源安装CocoaPods库
$ pod repo add master https://git.coding.net/CocoaPods/Specs.git 
//或者  pod repo add master https://git.oschina.net/akuandev/Specs.git
但是执行 pod repo remove master之后老是提示[!] repo master does not exist;然后执行 pod repo add master 
https://git.coding.net/CocoaPods/Specs.git
之后又会提示[!] To setup the master specs repo, please run pod setup. 
然后就无限卡死这两步,不知道是因为cocoapods版本的问题还是网络的问题,
最后直接手动将代码git到本地得以解决问题:
 git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
1.9.1要是使用下面的来手动添加,
git clone https://gitee.com/mirrors/CocoaPods-Specs.git ~/.cocoapods/repos/master

git完成之后如下:

添加完成.png
6.测试
    【如果有版本号,则说明已经安装成功】
    pod --version
7.利用cocoapods来安装第三方框架
    01 进入要安装框架的项目的.xcodeproj同级文件夹
    02 在该文件夹中新建一个文件podfile (cd到当前工程的文件夹 在终端使用touch Podfile命令创建出一个文件,然后用文本编辑打开)
    03 在文件中告诉cocoapods需要安装的框架信息
        a.该框架支持的平台
        b.适用的iOS版本
        c.框架的名称
        d.框架的版本

具体使用:
cd 项目路径
pod init #创建默认的 Podfile(可跳过)
vim Profile #编辑(没有会创建)Profile配置文件
pod install #安装或删除第三方库
pod install --no-repo-update #安装第三方库,不更新本地索引
pod update #更新到最新版本或指定版本
例如:
platform :ios, '8.0'
pod 'SDWebImage', '~> 5.0'

platform :ios, '8.0' #支持的iOS版本
target 'Demo' do  #指定的项目
  pod 'AFNetworking'  #要添加的第三方库名称及指定版本
end

8.安装
pod install --no-repo-update下载不需要更新pod
pod update --no-repo-update
如果想搜索的话可以使用 pod search XXX
9.说明
platform :ios, '8.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'SDWebImage','~>2.6' 设置框架的名称和版本号
版本号的规则:
'>1.0'    可以安装任何高于1.0的版本
'>=1.0'   可以安装任何高于或等于1.0的版本
'<1.0'    任何低于1.0的版本
'<=1.0'   任何低于或等于1.0的版本
'~>0.1'   任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0'     任何版本,相当于不指定版本,默认采用最新版本号

10.使用pod install命令安装框架后的大致过程:

01 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
02 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
03 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
04 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。

- 有一些框架是不支持pods,要在添加之前查看一下how to use有没有说明,
或者到框架文件里面查看有没有podspec后缀的文件有的话基本可以使用




在我们使用的时候 可能会出现一下错误 CDN: trunk URL couldn't be downloaded:

截屏2020-04-28上午10.31.53.png

解决方案

  1. pod repo list 查看一下源列表
  2. podfile添加source 'xxx', 第一步中你看看到的那个source,如果使用原来的方法的话 就把第一个master的url添加到我们podfile里面
source list.png

添加了之后像下图那样,就可以使用像之前那样正常使用,但是这个方法感觉不是长久之计,而且我不喜欢在podfile里面添加source这句,因为CocoaPods默认使用CDN,肯定以后会朝着使用CDN的方向发展,这个方法感觉以后还有出现问题,所以还是尽早的适应CDN的好,毕竟他是为了使我们的开发更加的方便才推出的。


添加Source的Podfile.png 成功集成.png

如果我们想使用CDN的需要修改hosts的地址

  1. 打开终端 执行
    sudo vi /etc/hosts
  2. 在文件里面添加
    199.232.68.133 raw.githubusercontent.com
    保存退回终端(1.输入i,进入insert模式编辑文本
    esc退出插入模式.2. shift + :wq 保存文件并退出文本编辑模)
  3. 执行sudo killall -HUP mDNSResponder

用这个方法,不需要在podfille文件添加source,集成有点慢,需要耐心等着。 但是以后因该都是这种方法,如果你想快点的话 就使用第一种在profile添加source的方法

CocoaPods卸载;

终端使用

sudo gem uninstall CocoaPods #卸载CocoaPods
上一篇下一篇

猜你喜欢

热点阅读