美文网首页
Cocoapods 的理解与使用

Cocoapods 的理解与使用

作者: Damon_Rao | 来源:发表于2019-05-17 22:28 被阅读0次

    Cocoapods 的理解与使用 

    我的原文博客:传送门

    一、cocoapods 简介

      Java:"我有Maven",nodejs:"npm是我老伴儿",iOS的依赖管理工具:"非cocoapods莫属了"。在敏捷开发的项目上,cocoapods的作用巨大,为开发者节省不少时间和重复性的工作,明确一点的是cocoapods项目源码都在Github 上。有些“杠精”肯定要抗议说cocoapods安装好心累遇到各种问题,不虚,接下来就分享出我使用以来的各种步骤心得与大家分享,但首先是要了解下cocoapods的原理才能更好的解决问题。

    二、cocoapods原理

    cocoapods 项目 会通过Podfile 文件 生成一个Pods.xcodeproj 工程,工程中会引入所有你添加的第三方库并默认生成相应的静态.a库,添加进pods工程引用中,最终Pods工程会生成一个libPod-xx.a 库,引入到你的工程中(引入原理就是生成一个环境变量配置文件XcodeConfig )。第一幅图为 pods config文件,二图为在主工程中配置。

    在pods工程的supportFiles还存放着引用库说明的markdown文件,plist文件,资源文件脚本resource.sh。

    三、cocoapods安装

    1.ruby  mac系统默认安装了ruby 环境这一步可略

    2.更换ruby源

    sudo gem sources -l (查看源)

    gem update --system

    gem sources --remove https://rubygems.org/

    gem sources --add https://gems.ruby-china.com/

    gem sources -l (验证是否替换成功)

    3.安装cocoapods

    sudo gem install -n /usr/local/bin cocoapods

    //如果是多个xcode 版本 Download 为相应路径下的xcode

    sudo xcode-select -switch /Download/Xcode.app/Contents/Developer

    4.安装pods

    pod setup

    //如果总是pod失败 在finder中 command + G,粘贴如下代码

    ~/.cocoapods/repos

    具体安装不成功的办法是 传送门

    等待一段时间安装成功后,在终端下 输入 pod search Masonry 检查下是否安装成功,退出库版本下按 q

    查看pod 版本 : pod --version

    四、cocoapods使用

    1.新建一个工程

    2.cd 到工程目录下

    3.创建podfile 文件

    图片

    进入podfile 文件编辑界面引入某个库

    图片2

    然后 按下esc 键,再输入 :  号,最后 输入 wq 回车退出编辑界面(此后就可以直接在工程中编辑podfile)

    最后在终端  输入 pod install 下载安装

    4.更新指定库

    //当你在podfile新增多个其他库后 ,输入以下命令就只会下载新增库,已添加的不去更新

    pod install --verbose --no-repo-update

    //当你只想更新指定库,而不是全部更新,可输入以下命令

    pod update xxx库名 --verbose --no-repo-update

    以上就是使用过程了。

    如果你想创建私有库可参考这篇文章:传送门

    五、可能遇到的问题汇总

    1.确保网络一直通常,如果再pod steup 过程中突然换网或断网,再想接下去就很难,还不如要退出重新pod setup

    2. [!] Found multiple specifications for `REFormattedNumberField (1.1.6)`:

    这是由于cocoapods版本不一致,需要团队开发者统一cocoapods版本

    3.ERROR:  SSL verification error at depth 1: unable to get local issuer certificate 

    这种证书错误就需要更换最新的ruby源:https://gems.ruby-china.org/ ,更新方法安装过程已经讲过了

    4.不同target 安装不同的库,需要 在podfile 文件上 分别使用target 命令如:

    target :'test01' do

    pod 'AFNetworking', '~> 2.0'

    end

    target :'test02' do

    pod 'Masonry', '~> 1.0.0'

    end

                5. RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

    这种问题一般是因为 xcode 打开了,或者选择路径不对要切换到相应xcode 版本包下sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

    6.RPC failed; curl 18 transfer closed with outstanding read data remaining

    repo仓库存储不足 ,输入: git config --global http.postBuffer 524288000   ,单位bit

    更多问题如下:

    cocoapods组件化

    其他特殊问题:https://www.jianshu.com/p/8c50c34167e3

    六、参考:

     1.另一种iOS 库管理工具 Carthage :http://swiftcafe.io/2015/10/25/swift-daily-carthage-package/

    2.pod使用各种操作参考:https://www.jianshu.com/p/75e19c92df50

    3.cocoapods的静态库和动态库:https://www.jianshu.com/p/3d0ae289dee0

    以上就是个人项目使用cocoapods的经验,不足之处请见谅,希望能帮到有需要的朋友!

    相关文章

      网友评论

          本文标题:Cocoapods 的理解与使用

          本文链接:https://www.haomeiwen.com/subject/cbvaaqtx.html