@TOCCocoaPods建立私有库
使用CocoaPods建立自己的私有库(MacOS)
以下为最近学习使用cocoapods建产私有库的方法和遇到的一些问题的总结。
过程概述
- 安装git
- 安装Cocoapods
- 创建自己的git仓库, 我自己使用的是gitee. github可能更好点,但经常打不开
- 创建本地PodsSpec库
- 创建lib工程和准备代码
- 使用git对lib源码进行管理
- 修改podspec文件
- 验证本地lib源码
- 打tag并push到远端
- 再次验证lib源码
- 将lib加入到podsSpec
- 遇到的问题
一, 安装git — 资源太多
二,安装Cocoapods —资源太多
三,创建自己的git仓库 — 资源太多
四,创建本地PodsSpec库并关联到远端git仓库,一般自己用只需要做一次就可以了。
pod repo add MyPodsSpec https://gitee.com/xxx_/MyPodsSpec.git
pod repo add 为固定格式 MyPodsSpec 为本地spec起的名字,可以跟远端的名字一样,也可以不一样 https://gitee.com/xxx_/MyPodsSpec.git 远端的PodsSpec仓库地址
五,创建lib工程
cd 工作目录
pod lib create MyTestLib
此时会自动生成一个名为MyTestLib的工程并打开其workspace. 将准备好的源码放MyTestLib/Classes/目录下,去除多余文件(默认会有一个replaceMe.m) 如果有其它附加文件可以放入 MyTestLib下的Assets下,也可以自定义文件夹,在podspec里进行修改。
六,使用git对源码进行管理
进入到MyTestLib目录,将代码加入git并关联至远端(以下信息在gitee网页上创建好仓库后可以看到)
git add .
git commint -m 'first commit'
git remote add https://gitee.com/用户名/MyTestLib.git
git push -u origin master
七,修改podspec
Pod::Spec.new do |s|
s.name = 'MyTestLib'
s.version = '0.1.0'
s.summary = '这只是一个简短的说明.'
s.description = <<-DESC
这是一个比较详细的说明,应该还有长度要求.
DESC
s.homepage = 'https://baidu.com'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { '自己的名称' => '自已的邮箱@邮箱.cn' }
s.source = { :git => 'https://gitee.com/自己的gitee用户名/MyTestLib.git', :tag => s.version.to_s }
s.platform = :osx
s.osx.deployment_target = "10.13"
end
进入MyTestLib/Example,对pod进行安装
cd MyTestLib/Example/
pod install
八,验证本地Lib
回到MyTestLib目录下
cd ..
pod lib lint MyTestLib.podspec
-> MyTestLib (0.1.0)
- NOTE | xcodebuild: note: Using new build system
- NOTE | xcodebuild: note: Building targets in parallel
- NOTE | xcodebuild: note: Using codesigning identity override:
- NOTE | [OSX] xcodebuild: note: Planning build
- NOTE | [OSX] xcodebuild: note: Constructing build description
MyTestLib passed validation.
九,点tag并上传到gitee
对MyTestLib进行tag
git add .
git commit -m '验证通过'
git push
git tag -a 0.1.0 -m 'v0.1.0'
git push --tags
十,再次验证
pod spec lint MyTestLib.podspec
十一,将MyTestLib加入到MyPodsSpec中,反面就可以使用pod 'MyTestLib’进行使用了。
pod repo push MyPodsSpec MyTestLib.podspec
十二,遇到的问题–待续
|