使用pod实现组件化开发

2019-10-30  本文已影响0人  AntKing

Pods的搭建组件步骤如下:

第一:本地私有repo

1 本地创建私有的 repo 仓库(需要与远程 git 托管地址绑定)

第二: 组件. podspec

1 创建组件
2 验证当前的. podspec 的有效性
3 发布当前的 pod 版本(默认会推送到远端)

本地私有repo搭建详情

https://gitee.com/yushang007/Personal_Repo.git
pod repo add Personal_Repo    https://gitee.com/yushang007/Personal_Repo.git
cd ~/.cocoapods/repos

ls -l

出现以下内容
drwxr-xr-x 6 mac staff 192 10 17 09:22 MDSpecs
-rw-r--r-- 1 mac staff 0 10 17 09:22 Spec_Lock
drwxr-xr-x 7 mac staff 224 6 5 14:53 aliyun
drwxr-xr-x 21 mac staff 672 6 20 11:04 artsy
drwxr-xr-x 3 mac staff 96 10 30 11:15 Personal_Repo
drwxr-xr-x 13 mac staff 416 10 29 15:00 master
drwxr-xr-x 16 mac staff 512 10 29 15:00 trunk

cd Personal_Repo
git add .
git commit -m "ss"
git push -u origin master 

组件. podspec创建

配置 .podspec 后缀文件 
s.name : 项目名
s.version : 版本号(需跟后面打 Tag 的值相等)
s.homepage : 项目主页(请注意,这里的地址跟git仓库地址有一定差别,请看清截图示例并区分)
s.license : 开源协议(这里我们选择 MIT )
s.source : Git 仓库地址(第二步所创建的仓库地址)
s.ios.deployment_target : 项目最低支持版本
s.source_files : 具体去那个目录下下载特定共享代码(注意:这里的地址与 .podspec 文件同级目录开始,,示例:PrivateLib/Classes/** /*表示如下目录下的所有文件
s.frameworks :项目所依赖的系统库(如果需要)
s.dependency :项目所依赖的第三方库(如果需要)
组件必须改的.jpg
验证 .podspec文件的格式的正确性 
终端cd到该目录,输入

pod lib lint  --allow-warnings

pod repo push Personal_Repo YsplayerSDK.podspec --allow-warnings

更新私有库,构建不同版本
1.修改.podspec文件中的s.version 号;
2.修改更新code,提交code在Sourcetree打新的tag;
3.两步,新增加tag,在桌面创建的文件重新push一遍
4.pod search 验证一下结果;

使用私有库
podfile里面添加如下代码

source'https://gitee.com/yushang007/kkpsersonalrepo.git' //自己的私有spec仓库
source'https://github.com/CocoaPods/Specs.git' //cocoapods公共spec仓库
target "TableViewTest" do
pod 'xxx', '~> 0.1.1'
end

私有库版本升级维护

1、代码升级

切换到pod库模板工程文件夹下,使用终端命令如下:

git add .

git commit -m '注释'

git push origin master
2、版本升级

git tag -a '新版本号' -m '注释'

git push --tags
****二、修改pod库模板工程中的.podspec文件版本号;****

修改pod库模板工程中的.podspec文件中s.version的值;

注:s.version的值要与“版本升级”中的tag值保持一致;

****三、将pod库模板工程中的.podspec推送给本地私有库;****

切换到pod库模板工程文件夹下,使用终端命令如下:

pod repo push SpecName XXX.podspec
注:

SpecName:pod库模板工程中的.podspec文件中的s.name;

XXX:pod库模板工程中的.podspec文件名;

上一篇 下一篇

猜你喜欢

热点阅读