前篇已经可以实现pod 方式管理sdk ,但是会暴露.m文件,此篇我们继续延伸,隐藏实现细节,我们将使用cocoapods-packager的方式进行管理
1.下载cocoapods-packager
sudo gem install cocoapods
2.cd 到上节创建的.podspec文件所在文件夹下
执行pod package xxx.podspec --spec-sources='git@xxx:sdks/specs.git,https://cdn.cocoapods.org' --force
成功后会有生成framework的文件夹,里面会有新的.podspec 文件(以下称为new.podspec)
新建2个仓库地址,一个存放framework(记得打tag,此tag和new.podspec里面的版本保持一致),一个放.podspec 文件(该仓库作为私有源地址)
3.将new.podspec文件里的s.souce 修改为存放framework的git地址
4.cd 到new.podspec所在的文件夹下,进行验证和上传
pod spec lint new.podspec --use-libraries --verbose --allow-warnings --skip-import-validation
pod repo push SpecsName new
.podspec --allow-warnings --skip-import-validation
SpecsName这个私有源应该是提前创建好的,可以参考前篇
5.此时可以用pod方式进行引用
podfile里需要写明私有源source的git地址
source ‘xxx.git’
pod 'frameworkName'
注意:
.podspec 文件里s.ios.vendored_framework = ‘路径’,该路径需要和存放framework的仓库路径保持一致,从仓库的根目录算起