无法识别的“swift_version”键

Unrecognized `swift_version` key

我无法将我的 pod 的新版本推送到 CocoaPods 规范存储库。

运行 pod trunk push MyPod.podspec 导致以下错误:

[!] The Pod Specification did not pass validation.
The following validation failed:
- Warnings: Unrecognized `swift_version` key.

这是我的 podspec:

Pod::Spec.new do |spec|

  spec.name = "MyPod"
  spec.version = "0.1.1"
  spec.summary = "[REDACTED]"
  spec.homepage = "[REDACTED]"
  spec.license = "Apache License, version 2"
  spec.author = "[REDACTED]"
  spec.social_media_url = "[REDACTED]"
  spec.module_name = "MyPod"
  spec.swift_version = "5.0"
  spec.platform = :ios, "8.0"
  spec.source = { :git => "https://github.com/[REDACTED].git", :tag => "v#{spec.version}" }
  spec.source_files = "MyPod/**/*.{h,m,swift}"

end

我做错了什么?

我第一次注意到这些错误 更新到 Swift 5 和 Xcode 10.2 之前。

总结,更新一个pod:

预先更新podspec中的版本和标签 提交,将代码推送到 git 使用当前代码创建新标签,确保它与 podspec

中的标签相同

git 标签 0.1.1

git 推源 0.1.1 调用 pod spec lint 进行检查并调用 pod trunk push 将其更新到 repo master list

pod 库 lint YourSDK.podspec

pod 中继推送 YourSDK.podspec 您的 podfile 似乎使用的是 v0.1.1 标签,但是存储库中的标签是 0.1.1 而没有 v。这也会导致 linting 失败。

这似乎是服务器端的错误。据报道on GitHub

但是,由于它是警告,而不是错误(尽管它是红色字体,这很容易混淆),所以可以使用 --allow-warnings 参数忽略它。