前言
组件化开发作为一种新兴的开发模式,不仅在提高开发效率、降低开发成本等方面都具有明显的优势,而且从快速构建、代码复用、可维护性、灵活性和扩展性和可测试性等方面也为我们带来了许多优势。随着项目的增大或者变多,组件化开发都是我们一个很好的选择之一。同时组件的维护也成了重要的一环。
接下来说一下如何来更新私有库。
打开终端,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 表示依赖静态库
如图所示则表示验证通过
3.更新索引库
perl
代码解读 组件.podspec是绝对路径
复制代码
pod repo push 索引库名称 组件.podspec
四、更新使用
cd到组件项目的Example目录下执行
scss
代码解读
复制代码
// --no-repo-update 不更新本地索引库
// 因为刚刚已经自己手动更新过了,所以这里我们选择跳过更新
pod update --no-repo-update
项目中使用直接更新最新版本号 pod install更新即可
到这里就迭代结束啦~
下边来说一下我在迭代过程中遇到的问题吧
项目无论是编译还是运行都没有错,但是还是出现如下问题
在验证远程Spec时的问题
问题一
它的意思是 SDK没有包含 'libarclite' 这个文件,这个文件的路径是:
bash
代码解读
复制代码
/Applications/Xcode.app/Contents/ Developer/Toolchains/XcodeDefault.xctoolchain/us/lib/arc/
解决方法如下:
下载:github.com/kamyarelyas… 中的文件夹,把模拟器(libarclite_iphonesimulator.a)和真机(libarclite_iphoneos.a)的文件都复制出来
进入路径:/Applications/Xcode.app/Contents/ Developer/Toolchains/XcodeDefault.xctoolchain/us/lib/arc/,将以上两个文件复制进去 (PS:有些Xcdoe没有arc文件,如果没有,那就先在lib目录下新建一个) 然后关闭重启Xcode 重新执行验证命令就解决了验证不通过的问题
问题二
这是podspec文件中依赖了静态库造成的验证不通过,想要验证通过可以通过添加参数--use-libraries让验证通过,这样操作并不影响pod使用
更新索引库时的问题
解决方案 加上如下代码
--verbose --use-libraries --allow-warnings
完整命令: pod repo push 索引库名称 组件.podspec --verbose --use-libraries --allow-warnings
参数解读:
--verbose 输出详情
--use-libraries 允许使用静态库
--allow-warnings 允许警告
如果还有其他问题也可以试试
--skip-import-validation 跳过验证