创建属于自己的CocoaPods公开库/私有库

0. pod列表

0.1 常用

pod 'AFNetworking'
pod 'BlocksKit'
pod 'Masonry'
pod 'MBProgressHUD'
pod 'MJExtension'
pod 'MJRefresh'
pod 'SDWebImage'
pod 'FMDB'
pod ‘SVProgressHUD’

// ddlog
pod 'CocoaLumberjack/Swift’
pod ‘QorumLogs'
pod ‘RealReachability'

0.2 最近常用

// 一行代码集成0耦合侧滑抽屉
pod ‘CWLateralSlide'

0.3 备用

pod 'CocoaLumberjack'
//自动调整位置的cell
pod 'TPKeyboardAvoiding'
pod 'MLTransition'
pod 'CocoaAsyncSocket'
//闪光特效
pod 'Shimmer'
//扁平化控件
pod 'FlatUIKit'
pod 'AsyncDisplayKit'
//侧滑
pod 'RESideMenu'
//多侧滑cell
pod 'SWTableViewCell'
pod 'MWPhotoBrowser'
pod ‘WMPageController'
pod ‘iCarousel'

1. 安装

1.0 查看ruby版本

// 如果版本低于2.3 就要升级ruby
ruby -v

1.1 安装rvm

// 1.1.1 差不多两分钟左右
curl -L[get.rvm.io](http://get.rvm.io/)| bash -s stable
// 1.1.2
source~/.bashrc
// 1.1.3
source~/.bash_profile
// 1.1.4 看看rvm版本
rvm -v

// 显示如下则成功
rvm1.29.3(latest)byMichalPapis,PiotrKuczynski,WayneE.Seguin[https://rvm.io]

1.2 安装ruby

// 1.2.1 看看ruby可安装版本
rvmlistknown
// 1.2.2 安装ruby 过程中可能会要求输入两次回车键,N多次密码
rvm install2.4.1
// 1.2.3 设置默认版本
rvmuse2.4.1—-default

1.3 安装cocoapods

// 1.3.0 更新gem
sudo gem update --system
// 1.3.1 删除旧源
gem sources --remove[https://rubygems.org/](https://rubygems.org/)

// 1.3.2 设置新源

— 1.淘宝源,已停止维护
gem sources -a[https://ruby.taobao.org/](https://ruby.taobao.org/)

— 2.ruby-china
gem sources -a https://gems.[ruby-china.org/](http://ruby-china.org/)

// 1.3.3 安装

— 1\. 方式1
sudo gem install cocoapods

— 2\. 方式2
sudo gem install -n /usr/local/bin cocoapods
// 1.3.4 查看,显示出pod的使用帮助,旧安装成功
pod
// 1.3.5 安装本地库
pod setup

1.4 升级

sudo gem install cocoapods --pre

1.5 错误解决

1.6 常用指令

// 更新列表
pod repo update master

// 搜索库 可获取库详情(路径,版本号)
pod search MJExtention

// 查看电脑中已有的源列表
gem sources -l

// 如果安装了多个xcode,需要设置一个默认的xcode
sudo xcode-select -switch/Applications/Xcode.app/Contents/Developer

2.安装第三方库

2.1终端中打开项目所在目录

2.2终端中输入

pod init

2.3打开Podfile文件,添加需要导入的库

target 'Create CocoaPods' do

pod ‘MJRefresh’

pod ‘SDWebImage’

pod ‘MBProgressHUD’

end

2.4终端输入

2.4.1 pod install

-会根据Podfile.lock文件中列举的版本号来安装第三方框架

-如果一开始Podfile.lock文件不存在,就会按照Podfile文件列举的版本号来安装第三方框架

-安装框架之前,默认会执行pod repo update指令

2.4.2 pod update

-将所有第三方框架更新到最新版本,并且创建一个新的Podfile.lock文件

-安装框架之前,默认会执行pod repo update指令

2.4.3 pod install --no-repo-update
2.4.4 pod update --no-repo-update (--no-repo-update 不更新缓存的库)

-安装框架之前,不会执行pod repo update指令


3.创建自己的Podspec

3.1在github上创建一个项目,clone到本地

3.2打开那个文件夹中

pod spec create ZLCategory

3.3用编译器打开新创建的ZLCategory.podspec

3.4修改此文件

==================

Pod::Spec.new do|spec|

#名称

[s.name](http://s.name/)         ="UIView+rotate"

#版本号

s.version      ="0.0.1"

#注释

s.summary      = "一个UIView的分类,可以让UIView自动旋转,可以设置旋转的时间"

#详细注释

s.description  = <<-DESC

闲来无事,拿来做实验的

DESC

#主页地址

s.homepage     = "[https://github.com/zl/UIView-rotate](https://github.com/zl/UIView-rotate)"

#授权方式和文件地址 (开源协议)

s.license      = { :type =>"MIT", :file =>"FILE_LICENSE"}

#邮箱

s.author             = {"zl"=>"[xxxxxx@qq.com](mailto:xxxxxxx@qq.com)"}

#支持语言和版本

s.platform     = :iOS

#文件路径

s.source       = { :git => "[https://github.com/zl/UIView-rotate.git](https://github.com/zl/UIView-rotate.git)", :tag => "0.0.1" }

#支持文件路径

s.source_files  = "UIView+rotate", "UIView+rotate/**/*.{h,m}”

end

3.5 trunk

// 可以先搜索库,查看我们命名的库是否被创建过,免得修改名字再来一次
pod search ZLCategory
// 创建podspec文件
pod spec create XXX(后面不要拼接podspec)
// 注册(公开库) 
pod trunk register [3206946374@qq.com](mailto:3206946374@qq.com) 'ZLFighting' --description=‘ZL MacBook Pro’
// 检查:本地 --allow-warnings:允许警告
pod lib lint ZLCategory.podspec --verbose --allow-warnings

// Sourcetree/SVN接着commit后push

// 打tag 提交时自己看,不是我们项目的版本
git tag 0.0.1
// 推送
git push --tags --verbose
// 检查:远程
pod spec lint ZLCategory.podspec --verbose --allow-warnings
// 查看本地库是否有缓存
pod repo
// 远程验证(同步远程库到本地库) 
pod repo add ZLCategory 远程路径([git@gitee.com](mailto:git@gitee.com):zl/ZLCategory.git)
// 推送本地spec文件到远程库,必须在当前podspec文件路径下敲命令行!
pod repo push ZPCategory ZPCategory.podspec --allow-warnings

// Sourcetree/SVN上拉取文件到本地

// 提交(公开库)
pod trunk push ZCategory.podspec --verbose --allow-warnings

3.6 导入

pod ‘UIView+rotate’,:git => ‘[https://github.com/zl/UIView-rotate.git](https://github.com/zl/UIView-rotate.git)’

3.7 待验证

// 查看本地库
pod repo

pod repo update

pod repo push QMCode  QMCode.podspec --allow-warnings

pod repo add ZPCategory [git@gitee.com](mailto:git@gitee.com):ioszwj/ZPCategory.git

source '[git@gitee.com](mailto:git@gitee.com):zl/ZLCategory.git'

source '[https://github.com/CocoaPods/Specs.git](https://github.com/CocoaPods/Specs.git)'

3.8 More

// 移除本地不使用的库
pod repo remove XXX时,

移除本地不使用的库,可open它( Path: /Users/zhangli/.cocoapods/repos/)手动暴力删除,快速解决


参考文档:http://blog.cocoachina.com/article/102341

推荐阅读更多精彩内容