参考:
http://www.jianshu.com/p/ddc2490bff9f
# 开篇扯淡(无聊可看)
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,一直以来我也在尝试使用它来管理我们项目中的那些公共组件及公共模块。用到现在才发现,之前都只是方便了代码导入工程,而没有真正的将Cocoapods的版本管理的功能发挥出来,原因就是没有建立自己的Spec仓库。
Cocoapods是托管在github上的,也可以托管在公司自己的git服务器上,如Gitlab、Coding、Bitbucket等。正好公司最近搭建了Gitlab服务器,经过这几天在网上搜索学习已经自己尝试,下面我就说说在Gitlab上搭建的具体过程。
# 前置环境
1、安装Cocoapods(我的版本:1.1.1)
2、Xcode(8.2.1)
# 创建Spec
## 1. 了解公共仓库(Repos)
先介绍两个命令
~~~
//显示Mac下隐藏文件的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
//隐藏Mac下隐藏文件的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
~~~
接着按住option之后在Finder图标点击右键,可以看到“重新开启”选项,重启Finder。此时在个人目录下可以看到隐藏目录 .cocoapods(路径为:~/.cocoapods 或者 /Users/xued/.cocoapods)。

可以看到repos目录(仓库-repository的缩写),里面存放的就是仓库的集合,而master就是Cocoapods官方建立的仓库,即我们所谓的公共库。打开里面的Specs你会发现里面包含所有我们用到的第三库的各个版本,这里其实就是那些第三库的索引。为了能够通过版本管理我们的私有库,就需要创建我们自己的Spec。
## 2. 创建一个私用的Spec Repo
在我们的Gitlab服务器上新创建一个项目。如下图所示:

- 发布aar到maven仓库
- svn或gitlab代码上传规范
- maven仓库管理
- 自动构建
- Android自动构建
- Android-jenkins发布
- 规范
- Android
- Android组件模块文档
- 基础业务模块
- 智能导诊
- 科室医生
- 医院导航
- 健康资讯
- 健康百科
- 个人中心
- 外链模块
- 微信资讯
- 动态首页
- 互联网医院
- 外链模块基础版本
- 底层功能模块
- UI样式
- Http请求
- 动态功能
- 版本更新
- 支付(微信、支付宝)
- 二维码扫描
- 安全键盘
- 开发工具类模块
- icepick
- dart
- butterknife
- superRecycler
- jsonBuilder
- android-state
- iOS文档
- iOS组件模块文档
- iOS底层功能模块
- iOS弹出窗
- iOS加载框
- iOS-标准样式库
- iOS网络请求
- iOS二维码扫描
- iOS功能模块组件
- iOS健康资讯
- iOS健康百科
- iOS智能导诊
- iOS科室医生
- iOS医院导航
- iOS外链
- iOS模板(健康资讯类)
- iOS其它
- Cocoapods安装
- iOS-Cocoapods相关
- iOS-创建私有Cocoapods仓库
- 平台相关文档
- 全栈中心概述
- WEEX跨平台解决方法
- 玩转开发者平台
- android打包指南
- iOS自动化打包指南
- rubik-u web组件文档
- 开始
- 全局方法
- 列表组件
- 标题组件
- 按钮组件
- 切换组件
- 下拉框组件
- 开关/单/复选组件
- 功能列表组件
- 评星组件
- 搜索组件
- 图片上传组件
- 表单
- 表单例一
- 表单例二
- 表单例三
- 聊天组件
- 滑动刷新组件
- View窗口操作
- 面板组件
- 简单面板组件
- 信息展示面板
- 提示文字
- 底部悬浮组件
- 长文字展示组件
- 隐藏/显示面板
- 客户端组件
- 判断客户端环境
- 登录
- 等待框
- 提示框
- 时间选择器
- 扫码组件
- 拍照组件
- 访问相册组件
- 用户信息获取组件
- 返回上一页
- 返回首页
- 关闭webview
- 获取客户端类型
- 支付
- rubik-u web模板文档
- 基础组件模板
- 复选框使用案例