创建私有Pods库

首先找一个可以创建私有仓库的平台,比如coding.net

首先创建一个远程索引仓库

创建私有Pods库_第1张图片
创建私有Pods库_第2张图片

创建好后添加到本地

可以在本地pod repo查看当前已有索引库

pod repo add YJTestSpecs https://git.coding.net/zhangyjcoding/YJTestSpecs.git   //添加到本地

成功的话,再次查看pod repo

索引库创建好以后就可以创建你自己的私有仓库了

现在托管平台创建一个空的仓库,然后在本地创建一个pod模版工程

pod lib create YJTestPod

rm -r ReplaceMe.swift //删除无用代码

touch test.swift  //添加自己的代码

cd ..

cd..

cd Example

pod install

重新pod成功后,修改对应的podspec文件

vim YJTestPod.podspec

修改完之后,提交代码到远程

git add .

git commit -m 'xxx'

git remote add origin https://git.coding.net/zhangyjcoding/YJTestPod.git  //关联远程地址

git push origin master

git tag '0.1.0'  //添加标签,要与podspec中一致

git push --tags

验证podspec文件

pod spec lint

验证通过后,提交spec到本地repo,会自动更新到远程

pod repo push YJTestSpecs YJTestPod.podspec

完成之后就算创建成功了,在使用的时候要注意在Podfile文件中添加

source 'https://git.coding.net/zhangyjcoding/YJTestSpecs.git'

source [其他repo地址]

不添加source的话也可以这样

pod 'YJTestPod', :git => 'https://git.coding.net/zhangyjcoding/YJTestPod.git'

pod 'QueryKit' , :subspecs => ['Attribute','QuerySet']

pod 'QueryKit/Attribute'


组件间的通讯:

方案一:将宿主工程当作中间件,各模块暴露通讯需要的API

方案二:MGJRouter当作中间件,介于宿主工程和模块之间的层,通过url注册服务,其它地方通过url获取服务(可以github看怎么用,比较简单),但是要注意url的维护

方案三:target-action,每个文件提供一个统一披露的接口文件,额外维护一个中间件的分类扩展,其它地方通过target-action的方案进行交互,其实就是使用运行时,调用performSelector

你可能感兴趣的:(创建私有Pods库)