[关闭]
@chenbinghua 2018-08-12T22:32:32.000000Z 字数 1820 阅读 1498

CocoaPods的高级使用

cocoapods


CocoaPods概述

很多语言或技术平台都有第三方开源类库的类库管理工具,它们被称之为依赖管理工具或者包管理器等,如iOS的CocoaPods、Android的jcenter、java的Maven、Ruby的gem、node.js的npm。

这些类库管理工具都有两个主要作用:
1. 通过命令行下载第三方类库。免除手动下载之苦;
2. 解决第三方开源类库之间的依赖关系。如A框架和B框架都依赖C框架,如果同时集成A框架和B框架的时候,就不用下载两次C框架,并且保证项目里只有一个C框架;

而CocoaPods就是iOS最常用最有名的类库管理工具,当然iOS的类库管理工具还有Carthage,你可能会在Github上碰见过它。绝大部分有名的开源类库,都支持CocoaPods安装使用。

CocoaPods安装和使用

CocoaPods是使用Ruby开发的,还好我们的Mac都自带Ruby,可以使用Ruby的类库管理工具gem来安装CocoaPods。
没错,就是用Ruby的类库管理工具gem来安装我们iOS的类库管理工具CocoaPods,说起来有点拗口。
使用以下gem命令即可下载CocoaPods:

  1. $ sudo gem install cocoapods

这里可能因为gem版本过低,下载出现问题,可通过以下命令升级gem:

  1. $ sudo gem update --system

但是在执行sudo gem install cocoapods命令之前,最好先修改gem的软件库,因为gem的软件库https://rubygems.org/在国外,被墙掉了,所以访问速度比较慢。可以使用以下代码将官方的 gem的软件库替换成国内淘宝的镜像:

  1. $ gem sources --remove https://rubygems.org/
  2. $ gem sources -a https://ruby.taobao.org/
  3. $ gem sources -l

pod setup

pod init
pod search AFNetworking
编辑podfile文件
pod install

pod install和pod update

CocoaPods原理


pod setup
远程索引库地址 https://github.com/CocoaPods/Specs.git
本地存放地址 /Users/用户名/.cocoapods/repos/master
把网上的远程索引库(第三方框架描述信息)同步到本地本地索引库

pod search 检索第三方框架
如果是第一次搜索
根据本地索引库生成一个检索索引文件search_index.json
存放路径为/Users/用户名/Library/Caches/CocoaPods/search_index.json

从本地缓存的"第三方框架描述信息" 生成的检索文件中检索到 相关框架的信息

pod init 创建Podfile到自己工程的根目录
Podfile文件可以手动创建,但是建议使用pod init命令创建
Podfile文件作用?其实就是使用ruby语法编写的 "框架依赖描述文件"; 就是告诉cocoapods需要下载集成哪些框架

把第三方框架信息写到Podfile文件

pod install安装第三方框架
根据本地索引库的框架描述信息,第三方框架下载到/Users/用户名/Library/Caches/CocoaPods/ (与检索索引文件同一个目录)

怎样把自己开发的框架上传到cocoapods

假如项目名是Afnetworking

创建并编写项目Afnetworking
打一个tag 0.01
pod spec create Afnetworking 在根目录创建Afnetworking.podspec文件
编辑Afnetworking.podspec文件,填写必要的信息
把项目上传到github
把Afnetworking.podspec上传到Cocospod
1.注册trunk pod trunk register wangshunzi@520it.com 'wangshunzi' --verbose
2.通过trunk推送podspec文件 pod trunk push Afnetworking.podspec
等待审核

cocoapods本地私有库的使用

cocoapods远程私有库的使用

我的一些建议

参考文档

CocoaPods官方网站
唐巧的博客 用CocoaPods做iOS程序的依赖管理
CocoaPods安装和使用教程

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注