2017-01-23 68 views
0

我正在创建一个专用窗格来处理我的项目中使用的所有常见代码。这个私人吊舱在他的podspec有几个子配置,其中一个取决于一个众所周知的公共吊舱:AFNetworking。无法找到[PRIVATE POD]依赖的[PUBLIC POD]的规范

在我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" => "[email protected]" } 
    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在那里我试图用 “调整大小” subspec

source 'https://repositorywithmyprivatepodcode' 

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

但我这个代码m运行时出现此错误pod install

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

我在这里失踪了什么?

+0

'rs.dependency'和依赖项之间是否存在'='? – Larme

+0

不,不需要那个'=',正如你在这里可以看到的那样https://guides.cocoapods.org/making/specs-and-specs-repo.html – WedgeSparda

回答

0

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

官方的CocoaPods源代码是隐含的。一旦你指定了另一个 源,那么它将需要包括在内。

所以我改变了我的Podfile包括它

source 'https://bitbucket.org/square1mobileteam/square1-specs' 
source 'https://github.com/CocoaPods/Specs.git' 

和它的作品。

+0

可能它已被固定位显式地给出你的私人荚的源代码是否被解密并且保留默认的CocoaPods源代码:'pod'Square1/Resized',::git =>'https:// repositorywithmyprivatepodcode''? – Larme

+0

不,cocoapods不允许在subspec中设置源。如果您尝试执行'pod repo lint'后会发现错误。 – WedgeSparda