Cocopods-发现多种规格警告

时间:2019-02-13 16:12:30

标签: cocoapods

here no here2 no no btest: [option:first palce:switzerland] ctest: [option:first palce:switzerland, option:thrid palce:thailand, option:fourth palce:italy] 上,我收到类似pod install的警告

这意味着我在此目录Found multiple specifications for "<Pod Name>"中有多个Podspecs

Podfile示例:

~/cocoapods/repo

我的问题是

  1. 安装Pod时将使用哪个Podspec。
  2. 如果Podspec来自source '<Private Podspec>' source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'SDKDemo' do use_frameworks! pod '<Pod Name>' end ,在这种情况下它将如何工作
<Private Podspec>

我得出结论,就像货源顺序会影响Podspec的决定。但是我想澄清一下。

预先感谢:)

4 个答案:

答案 0 :(得分:3)

我在source 'https://cdn.cocoapods.org/'中包含了source 'https://github.com/CocoaPods/Specs.git'Podfile

source 'https://cdn.cocoapods.org/'
source 'https://github.com/CocoaPods/Specs.git'

删除source 'https://github.com/CocoaPods/Specs.git'后,警告消失了。

答案 1 :(得分:1)

在Cocoapods版本1.8.x中,我通过从 source 'https://github.com/CocoaPods/Specs.git'中的source 'https://cdn.cocoapods.org/'Podfile

这还取决于您收到的错误。签入~/.cocoapods/repos文件夹以查看引起该警告的存储库总是很有用的。可能是您在~/.cocoapods/repos中有两个私有podspec实例。就我而言,我有这个

[!] Found multiple specifications for `GoogleUtilities (6.2.4)`:
- /Users/hientran/.cocoapods/repos/master/Specs/0/8/4/GoogleUtilities/6.2.4/GoogleUtilities.podspec.json
- /Users/hientran/.cocoapods/repos/trunk/Specs/0/8/4/GoogleUtilities/6.2.4/GoogleUtilities.podspec.json

只需删除主存储库,此后我再也没有看到过该警告

pod repo remove master

答案 2 :(得分:0)

在我这一方面,这种方法(更改源顺序)从未奏效。

我需要指定我的私人吊舱的来源,以使其正常运行。 原因是在我的私人 规格存储库中注册的我的私人 pod 与在此注册的另一个人具有相同的名称。 公共cocoapods规格存储库

即:

source 'https://github.com/CocoaPods/Specs.git' # public cocoapods specs repo
source 'https://github.com/{:user}/specs.git' # my private specs repo

platform :ios, '11.0'

target 'MyAppTarget' do
  use_frameworks!
  # any other public pod ...
  pod 'PrivatePod', :source => 'https://github.com/{:user}/specs.git'
end

这就是解决我的问题的原因。

答案 3 :(得分:0)

CocoaPods指南提供了答案:

  

货源的顺序是相关的。 CocoaPods将使用包括Pod在内的第一个来源的Pod的最高版本(无论其他来源是否具有更高版本)。

您首先输入的哪个来源将成为CocoaPods查找广告连播的第一个来源。

对于问题1:由于您首先拥有VPSProtocol=4.00 Status=INVALID StatusDetail=3067 : The ClientIPAddress is too long. VPSTxId={03F24DE5-60E6-FE73-0BFA-SOMETHING} ,因此将使用它。

对于问题2:由于您首先拥有VPSProtocol=4.00 Status=INVALID StatusDetail=3333 : The ClientIPAddress is missing. VPSTxId={983A157B-8866-A6C9-A4AC-SOMETHING} ,因此将使用它。

https://guides.cocoapods.org/syntax/podfile.html#tab_source