更新 CocoaPods 后找不到 headers

Posted

技术标签:

【中文标题】更新 CocoaPods 后找不到 headers【英文标题】:Headers are not found after updating CocoaPods 【发布时间】:2014-10-12 03:24:22 【问题描述】:

我今天更新了 CocoaPods (sudo gem install cocoapods)。执行pod install 后,项目将不再编译。项目似乎不再找到来自 pod 的标头。

最近的可可豆荚版本有什么变化吗?

以下是我的 pod 文件:

source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'

inhibit_all_warnings!

pod 'CocoaLumberjack'
pod 'RestKit', '~> 0.20.0'
pod 'RestKit/Testing'
pod 'NLTHTTPStubServer'
pod 'Appsee'

pod 'google-plus-ios-sdk', '1.7.0'

【问题讨论】:

假设您使用的是 0.34.2 版本。在pod install 之后收到什么错误消息? 起初我收到以下错误:[!] 隐式源的使用已被弃用。要继续使用当前机器上的所有源,请将以下内容添加到 Podfile 的顶部:source 'github.com/CocoaPods/Specs.git'。 请看我更新的答案。希望它对你有用:) 【参考方案1】:

修复很简单,错误告诉我们该怎么做。将此添加到 Podfile 的顶部:

source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'

这里有更多细节的 Github 问题 - https://github.com/CocoaPods/CocoaPods/issues/2515

更新

确保在 Xcode 项目目录的根目录中创建 Podfile。这是您的 Podfile 的外观 -

source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'
inhibit_all_warnings!

# Pods
pod 'RestKit', :head
pod 'RestKit/Testing', :head
pod 'CocoaLumberjack', :head
pod 'NLTHTTPStubServer', :head
pod 'Appsee', '~> 2.1'
pod 'google-plus-ios-sdk', '~> 1.7.0'

在您的终端中 -

更新 RubyGems - sudo gem update 更新可可豆荚 - sudo gem install cocoapods

在你的项目目录中 -

删除 pod - rm -rf Pods/ 安装 pod - pod install

【讨论】:

它没有解决问题 - 仍然找不到标题。例如 - #import "RKRelationshipMapping.h"。 @ErikSapir 我能问一下你正在使用哪些豆荚吗? 我将我的 podfile 内容添加到主消息中 @ErikSapir 嗯。上面的评论非常混乱。我更新了答案,猜测您在使用 RestKit 时遇到问题。你能试试吗?请分享确切的错误消息。 我的问题不在于restkit。如果我从 podfile 中删除 reskit,我猜想包含其他 pod 库的错误【参考方案2】:

我和你一样,最后决定回滚我安装的CocoaPods版本(解决了我的问题)

幸运的是,我的Podfile.lock 文件处于版本控制之下,所以我打开了该文件以查看我使用的最新版本的 Cocoapods。我的Podfile.lock 的最后一行是:

COCOAPODS: 0.33.1

这就是我如何解决我的问题

sudo gem uninstall cocoapods

sudo gem install cocoapods -v 0.33.1

rm -rf Pods

pod install

【讨论】:

PS:关于将Pods 目录置于版本控制之下的争论一直存在。这是一个很好的例子,说明了为什么应该这样做。

以上是关于更新 CocoaPods 后找不到 headers的主要内容,如果未能解决你的问题,请参考以下文章

将 CocoaPods 更新到 0.36.x 及以上版本后如何引用 Bridging-Header.h 中的头文件?

将 CocoaPods 更新到 0.36.x 及以上版本后如何引用 Bridging-Header.h 中的头文件?

pod 安装后找不到“.xcworkspace”

百胜更新后找不到食谱

警告:更新到 xcode 7 后找不到选项的目录

更新到 nextjs@10.4 后找不到模块'webpack/lib/node/NodeTemplatePlugin'