无法找到由 [PRIVATE POD] 依赖的 [PUBLIC POD] 的规范

Posted

技术标签:

【中文标题】无法找到由 [PRIVATE POD] 依赖的 [PUBLIC POD] 的规范【英文标题】:Unable to find a specification for [PUBLIC POD] depended upon by [PRIVATE POD] 【发布时间】:2017-01-23 15:52:52 【问题描述】:

我正在创建一个私有 pod 来处理我的项目中使用的所有常见代码。这个私有 pod 在他的 podspec 上有几个子规范,其中一个依赖于一个众所周知的公共 pod:AFNetworking。

在我的 podspec 我有这个

Pod::Spec.new do |s|
  s.name         = "NAME"
  s.version      = "0.0.1"
  s.summary      = "SUMMARY"
  s.description  = "DESCRIPTION"
  s.homepage     = "https://myhomepage.com"
  s.license      =  :type => "MIT", :file => "LICENSE" 
  s.author       =  "Me" => "me@myemail.com" 
  s.platform     = :ios, "8.0"
  s.source       =  :git => "https://repositorywithmyprivatepodcode", :tag => s.version 

  s.subspec 'Core' do |cs|
    cs.source_files  = "Source/Core/**/*.h,m"
  end

  s.subspec 'Resized' do |rs|
    rs.source_files  = "Source/Resized/**/*.h,m"
    rs.dependency 'NAME/Core'
    rs.dependency 'AFNetworking' , '~> 3.0'
  end

  s.subspec 'UI' do |us|
    us.source_files  = "Source/UI/**/*.h,m"
  end
end

我在尝试使用的项目的 Podfile 中有此代码 “调整大小”子规范

source 'https://repositorywithmyprivatepodcode'

target 'TestProject' do
  pod 'Square1/Resized'
end

但是我在运行pod install时遇到了这个错误

[!] Unable to find a specification for `AFNetworking` depended upon by `Square1/Resized`

我在这里缺少什么?

【问题讨论】:

rs.dependency 和依赖之间是否存在= 不,不需要=,你可以在这里看到guides.cocoapods.org/making/specs-and-specs-repo.html 您找到解决此问题的方法了吗? 【参考方案1】:

好吧,我的问题是我没有在项目的 Podfile 中包含 Cocoapods 主存储库。

官方的 CocoaPods 源是隐含的。一旦你指定另一个 源,则需要包含它。

所以我更改了我的 Podfile 以包含它

source 'https://bitbucket.org/square1mobileteam/square1-specs'
source 'https://cdn.cocoapods.org/'

而且它有效。

【讨论】:

是否也可以修复一下,明确地提供您的私有 pod 的来源并保留默认的 CocoaPods 来源?:pod 'Square1/Resized', :git => 'https://repositorywithmyprivatepodcode' 不,cocoapods 不允许在子规范中设置源。如果你尝试一下,你会看到在执行pod repo lint 之后你会得到一个错误。

以上是关于无法找到由 [PRIVATE POD] 依赖的 [PUBLIC POD] 的规范的主要内容,如果未能解决你的问题,请参考以下文章

无法找到`podName`的规范

无法从 GKE 中的 pod 内部连接到 Postgres SQL 实例

Pod依赖启动

无法在 CocoaPods 中找到规范

React Native iOS 模块 Pod 依赖

如何将 Firebase Analytics 添加为 pod 的依赖项?