一.安装 cocoapods,也可以 brew安装
gem uninstall cocoapods -v 1.5.2
gem install cocoapods -v 1.4.0
sudo gem install -n /usr/local/bin cocoapods
pod --version
二.本地仓库
pod repo update private-pods
pod repo list
pod repo remove master
pod install --verbose 细节
三.问题:
1.解决初次pod install 卡在CocoaPods Unable to add a source with url https://github.com/CocoaPods/Specs.git”
cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs.git master
2.pod install的时候,error,CDN: trunk URL couldn't be downloaded:
原因:pod1.8.0采用了cdn替换了原本的master。就是用分布各地的服务器来替换了原本的Github的源。使用的时候,经常会出现安装过程长时间无响应。
解决办法:(恢复老的master方式)
打开的podfile文件,在最顶部添加
source 'https://github.com/CocoaPods/Specs.git'
四.私有库搭建:
第一步.创建工程:
1.创建一个aaa工程:
命令:pod lib create aaa
注意:照提示信息生成工程模板
2.找到pod下面的replaceMe文件替换成自己的组件;
3.打开example ,pod install,完成示例
4.在git账号下创建一个空目录
5.修改podspec 文件中的信息
命令:pod lib lint --allow-warnings 验证
注意:s.source ,s.homepage
6.提交工程到git:
命令:git init
git add .
git commit
git remote add origin git路径
git tag '0.1.0' //版本号注意要和podspec文件中的版本号统一
git push --tags
git push origin master -f
第二步.创建pod Podspec/Spec
1.在git账号下创建一个空目录
2.本地添加私有pod库
命令:pod repo add 地址
注意:~/.cocoapods/repos 可以查看存在的配置文件
3.添加自己的组件:
命令:pod repo push 私有库名 自己的组件.podspec --use- libraries --allow-warnings
注意:如果有警告,会导致无法通过,需要添加--allow-warnings
如果使用了c函数相关的,需要添加--use-libraries
第三步.使用:
1.顶部 source ‘自己的库配置文件路径’
2.pod ‘pod名’, ‘~>tag’
3.pod 'AFNetworking', :git => 'GitHub - gowalla-archive/AFNetworking: AFNetworking Has a New Home: https://github.com/AFNetworking/AFNetworking', :tag => '0.7.0'
4.本地:pod 'AFNetworking', :path => '~/Documents/AF..’
备注: 1.pod指定版本号写法: pod 'AFNetworking' //不显式指定依赖库版本,表示每次都获取最新版本 pod 'AFNetworking', '~>0' //高于0的版本,写这个限制和什么都不写是 pod 'AFNetworking', '~> 0.1.2' //使用大于等于0.1.2但小于0.2的版本 pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本一个效果,都表示使用最新版本 pod 'AFNetworking', '2.0' //只使用2.0版本 pod 'AFNetworking', '= 2.0' //只使用2.0版本 pod 'AFNetworking', '> 2.0' //使用高于2.0的版本 pod 'AFNetworking', '>= 2.0' //使用大于或等于2.0的版本 pod 'AFNetworking', '< 2.0' //使用小于2.0的版本 pod 'AFNetworking', '<= 2.0' //使用小于或等于2.0的版本 pod 'AFNetworking', :git => 'http://gitlab.xxxx.com/AFNetworking.git', :branch => 'R20221010' //指定分支 pod 'AFNetworking', :path => '../AFNetworking' //指定本地库
记录.基于GitLab的私有仓库一