iOS私有库创建(我们用的是gitlab仓库)-组件化
程序员文章站
2022-04-11 13:20:00
...
一、新建一个code库,并且发布到私有仓库
首先我们得明白两个概念
1、code repository
是代码仓库,我们把包代码上传到这个仓库。不同的库,对应的不同的code repository
2、spec repository
是配置仓库,所有的配置按照包名、版本号分门别类的存放在这个仓库。这个仓库只用来存放spec
文件,不存放代码。
1、我们先新建一个spec repository
仓库 。先在gitlab(或者GitHub)新建一个仓库。复制仓库的地址并且执行下面的代码
pod repo add SLSpecs https://git.shunliandongli.com/shunlian_ios/SLSpecs.git
查看是否添加成功
执行pod repo list
。出现下面就是添加成功了
2、创建本地code repository
仓库` ,我们以ShunLianLib
为仓库的名字,cd
到你熬创建的仓库的目录
执行代码 pod lib create ShunLianLib
这样本地的pod仓库就创建好了。
3、修改ShunLianLib.podspec
文件(这是重点)。
使用下面这些常用的就行了。还有一些需要的,自己去查资料
Pod::Spec.new do |s|
s.name = 'ShunLianLib' #库名字
s.version = '0.1.0' #库版本号
s.summary = 'A short description of ShunLianLib.' #摘要
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC #描述
s.homepage = 'https://github.com/goodBoyAndGril/ShunLianLib' #仓库地址
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' #截屏地址
s.license = { :type => 'MIT', :file => 'LICENSE' } #开源协议
s.author = { 'goodBoyAndGril' => 'aaa@qq.com' } #作者
s.source = { :git => 'https://github.com/goodBoyAndGril/ShunLianLib.git', :tag => s.version.to_s } #库的远程仓库地址
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0' #支持的最低版本
s.source_files = 'ShunLianLib/Classes/**/*' #仓库的实际文件地址,发布的就是这一块的地址
# s.resource_bundles = {
# 'ShunLianLib' => ['ShunLianLib/Assets/*.png']
# } #资源文件路径
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit' #引用的系统库
# s.dependency 'AFNetworking', '~> 2.3' #引用的第三方库
# s.dependency 'xxxxxx', '~> 2.3' #引用的第三方库
# s.dependency 'xxxxxx', '~> 2.3' #引用的第三方库
4、验证ShunLianLib.podspec
文件的正确性
执行 pod lib lint
或者 pod lib lint --allow-warnings
(忽略警告)
得到下面的就是验证通过
5、在gitlab上新建code repository
,然后提交版本,生成标签并提交
//进入你刚刚本地创建的代码路径
cd existing_folder
//初始化
git init
//添加远程代码库
git remote add origin https://git.shunliandongli.com/Private/ShunLianLib.git
//将全部文件加入到暂存区
git add .
//代码提交到本地
git commit
//代码推送到远程
git push -u origin master
6、代码提交之后就之后,就发布新版本
6.1、用sourceTree
提交一个版本,再给这个版本添加一个标签
6.2、填写标签 就是版本号。勾选推送标签
6.3、这里就生成了一个标签
6.4、现在要修改.podspec
文件 (我们以SLFoundation
为例),修改SLFounddation.podspec
中的s.version = '对应的标签'
。这个版本号就是我们刚刚的标签,然后保存
6.5、保存成功之后,执行代码,cd
到 SLFoundation.podspec
所在的目录,在控制台执行下面的代码,提交到SLSpecs代码库中
pod repo push SLSpecs SLFoundation.podspec pod repo push SLSpecs SLFoundation.podspec --allow-warnings //这个忽略警告
7、出现了这个就说明成功了
-> SLFoundation (0.0.5) - NOTE | xcodebuild: note: Using new build system - NOTE | [iOS] xcodebuild: note: Planning build - NOTE | [iOS] xcodebuild: note: Constructing build description - NOTE | [iOS] xcodebuild: warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
执行下面代码。搜索一下,验证是否能搜索到
pod search SLFoundation
二、对已有库进行更新
执行上面步骤6,更新代码上传标签,修改版本号。
[!] Tips:
由于发展豆荚实现细节,当你添加新的/现有的文件Pod/Classes或Pod/Assets或更新podspec,你应该运行pod install或pod update。
上一篇: mac开发环境搭建