cocoapods:遇到意外的版本目录。我该如何解决?

Posted

技术标签:

【中文标题】cocoapods:遇到意外的版本目录。我该如何解决?【英文标题】:cocoapods: An unexpected version directory was encountered. How do I fix this? 【发布时间】:2014-12-09 17:01:16 【问题描述】:

我正在运行 CocoaPods 以向我的项目添加依赖项。

我的 pod 文件位于 Users/myUser/Desktop/project/project。

看起来像这样:

source 'https://github.com/hackiftekhar/IQKeyboardManager.git'

pod 'IQKeyboardManager'

xcodeproj '../project.xcodeproj'

它被命名为 Podfile。

当我运行 pod install 时,我会得到以下输出:

分析依赖关系

[!] IQKeyboardManager 存储库中的 /Users/myUser/.cocoapods/repos/hackiftekhar/IQKeyboardManager Pod 遇到了意外的版本目录 Categories

CocoaPods 在这里期待什么,我该如何解决这个问题?

谢谢,

C

【问题讨论】:

【参考方案1】:

Cocoapod 存储库issue 6089 中描述了如何解决此问题。

这里复制一下,以防万一以后链接断开:

    起点

我尝试创建一个私有 pod。

环境: Xcode 8 Cocoapods 1.1.1

我的 Pods 文件树:

看起来像这样

.
├── LICENSE
├── MoudlePod3
│   ├── 0.0.1
│   │   └── MoudlePod3.podspec
│   ├── TestObject3.h
│   └── TestObject3.m
├── MoudlePod3.podspec
└── README.md
运行 pod 安装

一切都很完美!

创建问题的更改: 然后我将一些新文件夹和文件添加到 pod 更新了 pods 文件树:

. ├── LICENSE ├── MoudlePod3 │ ├── 0.0.1 │ │ └── MoudlePod3.podspec │ ├── 0.0.4 │ │ └── MoudlePod3.podspec │ ├── NewClass │ │ ├── TestObjectNew.h │ │ └── TestObjectNew.m │ ├── TestObject3.h │ └── TestObject3.m ├── MoudlePod3.podspec └── README.md

将 podspec 版本增加到 0.0.4

更新客户端的 podfile 如下: 演示项目 Pod 文件:

来源'https://github.com/CocoaPods/Specs.git' 源'http:///ljb/MoudlePod3.git'

目标 'MoudleApp' 做 豆荚'MoudlePod3','〜> 0.0.4' 结束

运行 pod install

[!] MoudlePod3 存储库中的 /Users/apple/.cocoapods/repos/MoudlePod3/MoudlePod3 Pod 遇到了意外的版本目录 NewClass。

    @benasher44 的解释和解决方案: 啊,所以 source 'http:///ljb/MoudlePod3.git' 意味着它希望这是一个规范 repo,但是 看起来你正在尝试将 specs repo 和你保存的 repo 结合起来您的 pod 的代码,不受支持。 您应该删除自定义源代码行并执行类似 pod 'MoudlePod3', '~> 0.0.4', :git => '' 之类的操作。结帐https://guides.cocoapods.org/using/the-podfile.html#from-a-podspec-in-the-root-of-a-library-repo 了解更多信息。

或者在我的情况下,将源代码行修复为指向私有规范 repo 而不是 pod 的源 repo...Doh!

希望对您有所帮助。

【讨论】:

第三点帮助了我。谢谢【参考方案2】:

我也有类似的问题:

[!] An unexpected version directory `Base.lproj` was encountered for the etc...

更新到最新版本的 cocoapods 似乎可以解决它:

gem install cocoapods --pre

看看CocoaPods issue

希望对您有所帮助。

【讨论】:

谢谢,在我的情况下将源更新为'github.com/CocoaPods/Specs.git' 已修复 就我而言,即使更新到 github.com/CocoaPods/Specs.git 仍然会产生类似的错误 这个问题是关于版本 0.35.0 :( 我使用的是 Cocoapods 1.2.1、ruby 2.0.0p481、RubyGems 2.4.5、Mac OS X 10.12.5、Xcode 8.3.3,但仍然遇到这个问题。自 cocoapods 0.35.0 以来它肯定已经修复了吗?有谁知道如何解决这个问题?

以上是关于cocoapods:遇到意外的版本目录。我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

Cocoapods:确定 pod 版本

如何降级或安装旧版本的 Cocoapods

CocoaPods找不到pod“React / BatchedBridge”的兼容版本

在安装cocoapods遇到的问题,有大神可以帮忙的吗,xcode7

Cocoapods 安装及使用

我该如何解决问题:模块/ contrib / redirect / modules / redirect_404中缺少必需的键(核心)?