无法在CocoaPods中找到规范

Gai*_*tus 78 ruby objective-c ios cocoapods

我无法理解为什么Cocoapod无法找到我运行时创建的pod规范pod install.有人能帮我解决这个问题吗?

我正在我的库podspec文件中定义一个子规范,如下所示:

s.subspec 'mysubspec' do |c|
  c.dependency 'ABC','1.0.0'
end 
Run Code Online (Sandbox Code Playgroud)

此依赖关系ABC列在库Podfile中:

pod 'ABC', :git => 'git@github.com:myrepo/Podspecs.git', :branch => 'xyz'
Run Code Online (Sandbox Code Playgroud)

ABC.podspecmyrepo/Podspecs分支xyz中的Podspec文件如下所示:

Pod::Spec.new do |s|
  s.name         = "ABC"
  s.version      = "1.0.0"
  s.source       = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
end
Run Code Online (Sandbox Code Playgroud)

错误是 [!] Unable to find a specification for ABC (= 1.0.0)

解决方案: 在导入子规范之前导入pod ABC并将标记添加到podspec.

Gas*_*tes 178

我想你的pod master repo有问题.删除它并再次下载.

你可以做:

pod repo remove master
pod setup
pod install
Run Code Online (Sandbox Code Playgroud)

要么:

sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install
Run Code Online (Sandbox Code Playgroud)

  • 刚刚运行`pod setup`完成了这项工作. (49认同)
  • 可能想先尝试`pod repo update && pod setup`-如果您的repo只是缺少规范,这可能会解决它,并且比从头重新克隆整个repo更快。 (3认同)
  • 哇!这个。由于某种原因,我的Spec主存储库未正确设置,因此我必须以这种方式将其删除,然后进行设置和安装。谢谢你! (2认同)
  • 它可能被称为“trunk”而不是“master”,以防万一你得到“repo master 不存在” (2认同)

dlo*_*omb 30

对我来说,找到规格是一个问题,而不是规范本身.我需要添加一个到Podfile的源链接,请参阅Podfile文档

Cocoapods最近添加了链接到包含您要查找的pod规范文件的repo的需求,默认为:

source 'https://github.com/CocoaPods/Specs.git'
Run Code Online (Sandbox Code Playgroud)

如果您使用更隐蔽或自制的pod,则可能需要添加多个源链接.


gra*_*n33 17

代替:

s.source       = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
Run Code Online (Sandbox Code Playgroud)

写这个:不要忘记标签......

s.source       = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
                   :tag => s.version.to_s }
Run Code Online (Sandbox Code Playgroud)


Ugo*_*lli 9

确保你添加了

source 'https://github.com/CocoaPods/Specs.git'
Run Code Online (Sandbox Code Playgroud)

在 Podfile 的最开始

  • 如果您想添加私有 Pod,这尤其重要。 (2认同)

Hem*_*ang 7

对我来说,这就像一个魅力.

pod repo remove master
pod setup
Run Code Online (Sandbox Code Playgroud)

但是,您可以直接尝试,pod setup正如一些用户指出的那样.


Omn*_*Bug 6

我添加后解决这个问题

source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'
Run Code Online (Sandbox Code Playgroud)

到Podfile.好吧.我用一个本地存储库作为我的回购.所以我可以在另一个podspec文件中使用它

s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
Run Code Online (Sandbox Code Playgroud)

iOS_Networking_CPN 在当地的道路上.


zee*_*wan 5

我在MGBoxkit中遇到类似的错误

[!] 无法找到规格MGBoxkit

通过替换以下行

pod 'MGBoxkit'
Run Code Online (Sandbox Code Playgroud)

pod 'MGBoxKit'
Run Code Online (Sandbox Code Playgroud)

解决了这个问题。


Ida*_*led 5

更新 cocoapods 的主仓库。

pod repo update master
Run Code Online (Sandbox Code Playgroud)