创建属于自己的CocoaPods公开库/私有库
2019-12-25 本文已影响0人
smile丽语
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/)手动暴力删除,快速解决