创建Cocoapods私有库托管工程的模块进行依赖
业务需求:
明年可能做一个新的项目但是大部分的功能模块是一样的
如果使用不同的Target可能代码里面不同的判断 这是十分痛苦的
有没有好的办法集成模块 并且十分容易的修改扩展
我想到了Cocoapod进行依赖 但是之前全部托管到GITHUB上面 属于共有的库
今天就百度了一下资料 做了一下私有库 分享一下经验
我们按照一个软件MAMP
下载免费版本就可以了,我们只是当做PHP服务器就好了。
我们前往下面的目录
/Applications/MAMP/htdocs
新建一个文件夹
GBRepoGits
存放我们工程的不同模块
比如我们先新建一个存放ENUM的模块
GBDefineENUM
我们考虑可能有不同的版本 因为可能需要自定义并且 可能其他模块的改动 我们新增1.0版本
1.0
我们在1.0的目录新增文件夹 存放我们的文件
DefineEnums
我们现在的目录就是
/Applications/MAMP/htdocs/GBRepoGits/GBDefineENUM/1.0/DefineEnums
在本目录的终端执行下面的命令
pod spec create GBDefineENUM1.0
配置GBDefineENUM1.0.podspec文件
Pod::Spec.new do |s|
s.name = "GBDefineENUM1.0"
s.version = "1.0"
s.summary = "测试"
s.homepage = "http://localhost:8989/GBRepoGits/GBDefineENUM/1.0/"
s.license = { :type => 'MIT', :text => <<-LICENSE
Copyright 2012
Permission is granted to...
LICENSE
}
s.author = { "15038777234" => "15038777234@163.com" }
s.platform = :ios, "8.0"
s.source = { :http => 'http://localhost:8989/GBRepoGits/GBDefineENUM/1.0.zip' }
s.source_files = "1.0/DefineEnums/**/*.{h,m}"
s.requires_arc = true
end
其他的配置和创建共有的是一样的 只不过我们使用的是zip的文件包 zip就是我们1.0目录的打包
我们在终端执行
pod spec lint --verbose
我们在工程podfile添加下面代码执行正常的pod install 和 pod update就可以了
pod 'GBDefineENUM1.0', :podspec => '/Applications/MAMP/htdocs/GBRepoGits/GBDefineENUM/1.0/GBDefineENUM1.0.podspec'
注意事项
之前podspec执行的路径是我本地PHP的spec路径提示我编码不正确 我觉得可能就是PHP自动帮我展示转码了
就换成本地的文件路径是可以的
想说的话
对于我们的项目想完全模块脱离 我觉得很大的工作量 我觉得应该可以 我这几天研究一下