iOS-组件化开发之私有库的版本更新

552 阅读3分钟

前言

组件化开发作为一种新兴的开发模式,不仅在提高开发效率、降低开发成本等方面都具有明显的优势,而且从快速构建、代码复用、可维护性、灵活性和扩展性和可测试性等方面也为我们带来了许多优势。随着项目的增大或者变多,组件化开发都是我们一个很好的选择之一。同时组件的维护也成了重要的一环。

接下来说一下如何来更新私有库。

打开终端,cd到私有库项目目录下依次执行如下命令

一、代码更新

sql
 代码解读
复制代码
git add .
git commit -m '更新描述'
git push origin master

二、版本更新

lua
 代码解读
复制代码
git tag -a '新版本号' -m '注释'
git push --tags

做到这去查看远程仓库就有了新的tag版本

三、修改描述文件并且更新索引库

1.修改podspec文件

将原本的版本号改成新的版本号注意⚠️与刚刚的tag保持一致

ini
 代码解读
复制代码
s.version = '新版本号'

增加新版本注释

bash
 代码解读
复制代码
s.description      = <<-DESC
' 版本刚更新注释'
                     DESC
                   

2.验证远程Spec

css
 代码解读
复制代码
pod spec lint --private  --allow-warnings

--verbose 显示检查编译的详细信息
--allow-warnings 验证时允许有警告
--use-libraries 表示依赖静态库

截屏2024-09-10 17.58.43.png

如图所示则表示验证通过

3.更新索引库

perl
 代码解读  组件.podspec是绝对路径
复制代码
pod repo push 索引库名称 组件.podspec

四、更新使用

cd到组件项目的Example目录下执行

scss
 代码解读
复制代码
// --no-repo-update 不更新本地索引库
// 因为刚刚已经自己手动更新过了,所以这里我们选择跳过更新
pod update --no-repo-update

项目中使用直接更新最新版本号 pod install更新即可

到这里就迭代结束啦~

下边来说一下我在迭代过程中遇到的问题吧

项目无论是编译还是运行都没有错,但是还是出现如下问题

在验证远程Spec时的问题

问题一

截屏2024-09-10 18.13.43.png 它的意思是 SDK没有包含 'libarclite' 这个文件,这个文件的路径是:

bash
 代码解读
复制代码
/Applications/Xcode.app/Contents/ Developer/Toolchains/XcodeDefault.xctoolchain/us/lib/arc/

解决方法如下:

下载:github.com/kamyarelyas… 中的文件夹,把模拟器(libarclite_iphonesimulator.a)和真机(libarclite_iphoneos.a)的文件都复制出来

截屏2024-09-10 18.17.30.png

进入路径:/Applications/Xcode.app/Contents/ Developer/Toolchains/XcodeDefault.xctoolchain/us/lib/arc/,将以上两个文件复制进去 (PS:有些Xcdoe没有arc文件,如果没有,那就先在lib目录下新建一个) 然后关闭重启Xcode 重新执行验证命令就解决了验证不通过的问题

问题二

截屏2024-11-01 17.33.38.png

这是podspec文件中依赖了静态库造成的验证不通过,想要验证通过可以通过添加参数--use-libraries让验证通过,这样操作并不影响pod使用

更新索引库时的问题

截屏2024-11-04 11.59.45.png 解决方案 加上如下代码

--verbose --use-libraries --allow-warnings

完整命令: pod repo push 索引库名称 组件.podspec --verbose --use-libraries --allow-warnings

参数解读:

--verbose 输出详情

--use-libraries 允许使用静态库

--allow-warnings 允许警告

如果还有其他问题也可以试试

--skip-import-validation 跳过验证