CocoaPods如何在不同版本中存储pod zip链接?



我有一个私有的CocoaPods框架,因为它是一个iOS框架,我必须将其压缩并放入s3中才能下载。

最后它看起来像这样:

Pod::Spec.new do |s|
s.name         = "XXX"
s.version      = "1.0.1"
s.homepage     = "https://bitbucket.org/XXX"
s.summary      = "XXX"
s.description  = "XXX"
s.license      = "Commercial"
s.author       = "XXX"
s.source       = { :http => "https://s3-ap-southeast-2.amazonaws.com/XXX.zip" }
s.platform     = :ios, "9.0"
s.swift_version= "4.1"
s.ios.vendored_frameworks = "XXX.framework"
end

每次更新框架时,我都会压缩一个新的.framework文件,然后用完全相同的 url 替换可下载的 zip 文件:https://s3-ap-southeast-2.amazonaws.com/XXX.zip

上传后,我pod push YYY xxx.podspec将 podspec 推送到我的另一个中央 pod 规范存储库中。

我想知道的是,使用此框架的开发人员是否将其从1.0.0更新为1.0.1。CocoaPods将从该完全相同的链接下载最新的framework。如果开发人员想要回滚到1.0.0怎么办?CocoaPod 在哪里/如何存储旧(所有(版本的 zip?

您需要在服务器上托管不同版本的框架,因此提供不同的 podspec:

旧版本

s.version      = "1.0.0"
s.source       = { :http => "https://s3-ap-southeast-2.amazonaws.com/XXX-1-0-0.zip" }

当前版本:

s.version      = "1.0.1"
s.source       = { :http => "https://s3-ap-southeast-2.amazonaws.com/XXX-1-0-1.zip" }

所以一个

s.version      = "1.5.1"
s.source       = { :http => "https://s3-ap-southeast-2.amazonaws.com/XXX-1-5-1.zip" }

这样,当您将 podspec 与pod install/pod update一起使用时,开发人员将获取正确的源代码。

我为它们提供了一个可能的命名。此外,您可以将不同的用于尚未公开的"预版本",以避免用户通过猜测地址提前"下载它们"。

带有名称<PackageName>的 CocoaPod 版本缓存在此处:~/Library/Caches/CocoaPods/Pods/Release/<PackageName>

相关内容

  • 没有找到相关文章

最新更新