1. 在Gitlab 或者 Github 或者自己公司的git库上创建两个git 远程仓库,
- 用于管理spec
https://github.com/xqqq0/LXMoudlSpec.git
2.用于管理模块(框架)代码
https://github.com/xqqq0/LXModualA.git
2.创建本地 Spec repo
以下操作在终端的任意路径就可以
pod repo add LXMoudlSpec https://github.com/xqqq0/LXMoudlSpec.git
其中 add后边的 LXMoudlSpec
是本地的spec
名字,这个名字随意,但是为了规范,写成和git的spec同名,后面跟的地址就是我们第一步申请 git 仓库
,终端的截图如下
然后查看本地的 cocoaPods库
进入我们本地 repo
3. 创建本地Pod代码库
- 选中一个你只要存放代码的本地文件夹,然后执行命令
pod lib create 你的pod库名字
然后会有四个问题的提示,这个根据具体情况选择就行
image.png
- 将需要的源码创建到
/你创建的pod库名字/Classes/
,ReplaceMe
这个文件没啥用,可以直接删掉,将资源放在/你创建的pod库名字/Assets/
,每次修改完以后都需要找到Example
路径进行pod install
3.编辑spec文件,在项目的根路径,会有一个和项目同名的podSpec文件
-
s.version
:每次版本升级以后的时候都要更新这里,并且在修改完推送远端git的时候,添加的tag,也要和这个version保持一致 -
s.source
这里修改为我们第一步申请的管理框架的地址,不是spec的地址,一定不要写错 -
s.source_files
源代码的路径,一般都是默认的,这个如果有修改,也可以自由修改 -
s.dependency
依赖库,这里如果依赖多个的话,就可以写多行,格式
s.dependency 'AFNetworking', '~> 2.3'
s.dependency 'Masonry'
-
s.frameworks
这个参考示例就行s.frameworks = 'UIKit', 'MapKit'
-
s.resource_bundles
资源文件 这个参考示例就OK
s.resource_bundles = {
'LXModuleCode_A' => ['LXModuleCode_A/Assets/*.png']
}
每次修改完spec 文件,我们都要校验一下,这个命令要在spec所在的路径中执行
pod lib lint
根据采坑经验,有两点必须注意
- 代码必须提交到远端,并且打好tag
- spec 文件中的
s.summary
必须修改,不管系应该为什么,不能用自带的
5.向Spec Repo提交podspec【就是讲本地代码push到远端的spec上】
pod repo push `LXMoudlSpec` `LXModuleCode_A.podSpec`
pod repo push 参数1 参数2
:
- 参数1是第一步创建的本地
spec repo
- 参数2是源代码中
podSpec
- 命令要在
podSpec
(即参数2)所在路径执行
6.更新和删除spec
网友评论