是否可以从分支构建 Pod 版本?

Posted

技术标签:

【中文标题】是否可以从分支构建 Pod 版本?【英文标题】:Is it possible to build a release of a Pod from a Branch? 【发布时间】:2018-10-31 17:00:03 【问题描述】:

是否可以从分支创建 pod 版本?从 GitHub 看起来很简单,但 pod install 一直给我这个问题:

[!] CocoaPods 找不到 pod "XXX" 的兼容版本: 在 Podfile 中: XXXY(来自../)被解析为1.0.0,这取决于 XXX (~> 2.0.2)

您的所有规范来源都不包含满足依赖关系的规范:XXX (~> 2.0.2)

您有: * 过时的源代码库,您可以使用 pod repo updatepod install --repo-update 进行更新。 * 输入错误的名称或版本。 * 未将托管 Podspec 的源代码库添加到您的 Podfile。

我试过pod repo updatepod install --repo-update,但没有用。

摘自 pod 规范:

Pod::Spec.new do |s|
  s.name             = 'XXX'
  s.version          = '2.0.2'
  s.summary          = 'XXX'
  s.swift_version = '4.2'

Github 发布如下:

这篇文章看起来很相似,但没有帮助: Cocoapods subspec issue: None of your spec sources contain a spec satisfying the dependency

【问题讨论】:

【参考方案1】:

是的。

使用 source 属性,CocoaPods podspec 可以直接指向可以在任何分支上的标签,例如:

  s.version          = '5.0.5'
  s.source           = 
    :git => 'https://github.com/Foo/myRepo.git',
    :tag => s.version.to_s
  

https://github.com/firebase/firebase-ios-sdk 的 podspecs 中的一些示例

【讨论】:

以上是关于是否可以从分支构建 Pod 版本?的主要内容,如果未能解决你的问题,请参考以下文章

如果没有首先构建新创建的发布分支,GitVersion不会碰到TeamCity中的开发分支构建的次要版本

Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

从 CocoaPods Specs Repo 中删除版本

分支机构构建配置?

Git版本管理规范(Git Flow)

是否有可能在gitlab-ci中构建另一个分支到另一个目录?