美文网首页工具篇
工具篇 CocoaPods

工具篇 CocoaPods

作者: 下页天 | 来源:发表于2018-10-22 17:49 被阅读5次

CocoaPods简介

随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做CocoaPods
使用CocoaPods会自动将第三方开源库的源码下载下来,并且为工程设置好相应的系统依赖和编译参数

CocoaPods的安装和使用

1.升级Ruby环境

  • 打开命令行升级Ruby环境

    gem update --system

  • 如果没有权限去升级Ruby Sudo权限作用:root把本来超级用户执行的命令赋予普通用户执行

    sudo gem update --system

  • 查看gem版本号

    gem -v

2.换掉Ruby镜像

3.安装CocoaPods

sudo gem install cocoapods

如果没有权限输入

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

然后在去安装 可以查看提速版

pod setup

当出现Setup completed的时候说明已经完成了(中间有个下载的过程小有几百M要等会)

pod setup在执行时,会输出Setting up CocoaPods master repo
但是会等待比较久的时间。
这步其实是Cocoapods在将它的信息下载到
~/.cocoapods目录下
如果你等太久,可以试着cd到那个目录
用du -sh *来查看下载进度。

3.1 提速版

使用CocoaPods的镜像索引所有的项目的Podspec文件都托管在https://github.com/CocoaPods/Specs

第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods/目录下,这个索引文件比较大,有100M左右。所以第一次更新时非常慢。

为了提高下载速度, 可以将文件托管地址从github替换为国内gitclub,这样会快很多。如下操作就可以将github替换为国内gitclub

pod repo remove master
pod repo add master https://gitclub.cn/CocoaPods/Specs.git
pod repo update

出现问题 参考简书组件化第一篇:CocoaPods的安装

注意 如果使用了repo的替代源,记得在Podfile文件的顶部加入下面这行描述,如果不加这一句话,它默认还是从github镜像源地址去下载repo

source 'https://gitclub.cn/CocoaPods/Specs.git'

4.CocoaPods的使用

  • 搜索一下第三方库

pod search AFN

  • 在工程中创建一个Podfile文件
    要想在你的工程中创建Podfile文件,必须先要进到该工程目录下

cd 目录地址
touch Podfile
vim Podfile 或者用xcode打开
pod install

注意事项

  • 关于.gitgnore

    当你执行pod install 之后,除了podfile外,CocoaPods还会生成一个名为podfile.lock的文件,你不应该把这个文件加到 .gitgnore中。因为podfile.lock会锁定当前所依赖的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变podfile.lock,在多人协作时,这样可以防止第三方库升级时造成各自的第三方库版本不一致.

  • 为自己的项目创建podspec文件

    在创建第三方库时使用 暂不了解

  • 使用私有的pods

    我们可以直接知道读一个依赖的podspec,这样做就可以使用企业内部的私有库 例如

    pod 'MyCommon', :podspec => '地址'

  • 不更新podspec

    CocoaPods在执行pod install 和 pod update时 ,会默认先更新一次podspec索引,使用 --no-repo-update 参数可以禁止索引更新操作

    pod install --no-repo-update

    pod update --no-repo-update

  • 生成第三方的帮助文档

    创建第三方库使用 暂不介绍

原理

CocoaPods的原理是将所有的依赖库都放在一个名为pods的项目中,然后让主项目依赖pods项目,这样,源码管理工作都从主项目移到了pods项目中

pods项目最终会编译成一个名为libpods.a的文件,主项目只需要依赖.a文件即可。

对于资源文件,cocoapods提供了一个名为pod-resources.sh的bash脚本,该脚本在每次项目编译的时候多会执行,将第三方库的各种资源复制到目标目录中.

CocoaPods通过一个名为pod.xcconfig的文件在编译是设置所有的依赖和参数

相关文章

网友评论

    本文标题:工具篇 CocoaPods

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