Firebase CocoaPods 安装不工作

Posted

技术标签:

【中文标题】Firebase CocoaPods 安装不工作【英文标题】:Firebase CocoaPods Installation Not Working 【发布时间】:2016-09-25 21:23:47 【问题描述】:

我正在尝试通过 CocoaPods 为我的 Objective-C ios 应用程序安装 Firebase。我的 Podfile 如下:

target 'RandomName' do

pod 'Firebase/Core'
pod 'Firebase/AdMob'

end

当我运行pod install 时,我收到以下错误:

[!] Unable to satisfy the following requirements:

- `Firebase/Core` required by `Podfile`

None of your spec sources contain a spec satisfying the dependency: `Firebase/Core`.

You have either:
 * out-of-date source repos which you can update with `pod repo update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.

已安装最新版本的 CocoaPods,我尝试运行 pod repo update。拥有以下 Podfile 可以正常工作,但是当我尝试在我的 AppDelegate.m 文件中使用 @import Firebase; 时,Xcode 找不到该模块。

target 'RandomName' do

pod 'Firebase'

end

但是,以下组合无法安装:

target 'RandomName' do

pod 'Firebase'
pod 'Firebase/AdMob'

end

任何帮助将不胜感激!

【问题讨论】:

在 podfile 中使用 pod 'Firebase' 并在将 Firebase 导入为 @import Firebase 之后;你建立这个项目吗?如果没有,请尝试构建它。因为 Xcode 抱怨找不到模块,但在构建时错误消失了。当我集成其他一些框架时,我遇到了类似的问题并花了几个小时在上面。但建成后它开始工作。因此,您可能也会遇到同样的情况。 【参考方案1】:

我也有同样的问题。检查使用 pod 'Firebase' 时安装的 Firebase 版本。对我来说,它安装的是旧版本 2.4.3。文档说 pod 应该安装 3.2。使用那个吊舱。它解释了为什么其他 pod 不能工作,因为它们是 Firebase 3 的一部分。Pod 更新也不会将 Firebase 更新到最新版本。即使强制一个版本也不起作用。即使它们在同一个 podspec 中,它似乎也找不到新的 Firebase 版本。

我是这样解决的:

确保您安装了最新版本的 git 确保您已安装 cocoapods >= 1.0.0 删除您的 Pod 存储库(运行 pod repo remove master)并使用 pod setup 新建一个

在您的 pod 文件中使用以下内容

pod 'Firebase/Auth'

pod 'Firebase/Database'

pod 'Firebase/Core'

(使用任何你想要的,只是不要使用'Firebase')

pod install 一切都应该正确安装

【讨论】:

啊终于!运行 'pod repo remove master' 来删除 Pods repo,然后运行 ​​'pod setup' 最后运行 'pod install' 就成功了!!!但是,我不需要降级到 1.0.0。感谢您的帮助! 谢谢!!!!谢谢!!!!谢谢!!!!这行得通! 'pod repo remove master' 删除 Pods 存储库,然后运行 ​​'pod setup',最后 'pod install' 成功了!!! 非常感谢。 pod repo remove master 然后pod setup 成功了。【参考方案2】:

运行 'pod repo remove master' 来移除 Pods repo //移除库

运行 'pod setup' //克隆更新的 git repo 以获取规格,因为它的大小超过 300K(请耐心等待!)

运行 'pod install' //问题解决了

【讨论】:

尽管 pod 设置花费了很多时间,但这为我解决了这个问题。谢谢。 'pod repo remove master' 删除 Pods 存储库,然后运行 ​​'pod setup',最后运行 'pod install' 成功!!! 非常好 - 我花了大约 15 分钟,然后立即解决了我的 - Firebase/Core 所需的 Podfile 要求,您的规范来源都不包含满足依赖关系的规范:Firebase/Core。即使我有最新的 git 和 pod 版本也会出错。【参考方案3】:

你有没有尝试添加

框架 使用_frameworks!

在目标“随机名称”行之后

并添加

平台:ios,'9.0'

在目标之前 ....

【讨论】:

根据你的修改,我有以下 Podfile,但它不起作用: source 'github.com/CocoaPods/Specs.git' platform :ios, '9.0' target 'RandomName' do use_frameworks! pod 'Firebase/Core' pod 'Firebase/AdMob' 结束【参考方案4】:

有几个项目可以尝试。根据您的问题,您确实尝试了前两项,但为了我的回答完整而离开这里。

您得到的错误响应很有帮助。按照pod repo update 的步骤操作

确保您的 pod 是最新的。

pwd> pod --version
1.0.0

确保您的 git 是最新的。我的构建机器有一个过时的 git (1.7),我有同样的错误

-

当我从 git 1.7 更新到这个版本时,它运行良好。

pwd> git --version
git version 2.8.1
我使用 Firebase 动态链接的 Podfile 从 .xcodeproj 所在的文件夹运行 pod init 确保从这里开始只启动 .xcworkspace 而不是 .xcodeproj。
platform :ios, '8.0'
use_frameworks!

target 'the-name-of-target' do
 pod 'Firebase/DynamicLinks'
end

【讨论】:

我将 Git 更新到 2.8.2 版并且已经有了 Cocoapods 1.0.0 版,但仍然没有运气。运行 pod repo update 也不成功。 用我的 Podfile 更新了答案。对use_frameworks! 的调用在目标/结束结构之外 这很奇怪 - 仍然 cocoapods 会很好地安装 Firebase,但是第二次我尝试在它之后添加一些东西,就像在你的 Podfile 中一样,它不起作用。您提供的 Podfile(在我替换了目标名称之后)仍然无法正确安装。 很抱歉听到所有问题。我也很挣扎。我在编辑后的答案中添加了另外两项(pod init 和 .xcworkspace)。 仍然没有,抱歉。我没有使用 Swift,所以我应该离开 use_frameworks!评论了吗?【参考方案5】:

在执行 pod install 命令时也出现了同样的问题。

请重新启动终端并导航到您的 Xcode 项目,然后

只需触发相同的 pod install 命令。 'Firebase/Database' 将成功安装:)

【讨论】:

【参考方案6】:

我只是在执行以下步骤来修复此错误:

$pod setup -- verbose

那就$pod install

这对我有用,我的 pod 文件是:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target 'the-name-of-target' do
 pod 'Eureka', '~> 1.6'
end

更新:

然后您可以使用以下代码删除您的 master 并重新安装 cocoapods:

cd ~/.cocoapods/repos
rm -rf master
pod setup

【讨论】:

还是没有运气。运行 pod setup --verbose 给我以下警告:'CocoaPods 无法更新master repo。如果这是一个意外问题并且仍然存在,您可以运行 `pod repo update --verbose' 对其进行检查。运行 pod repo update --verbose 再次给我同样的警告。 当我尝试安装时,我遇到了同样的错误【参考方案7】:

我遇到了同样的错误,我的解决方案是将Cocoapods 降级为1.0.0,因为Cocoapods 1.0.1 没有按我的预期工作。现在一切正常!

sudo gem uninstall cocoapods -v 1.0.1

sudo gem install cocoapods -v 1.0.0

我的Podfile

platform :ios, '8.0'

target 'XXX' do

  pod 'Firebase/Auth'
  pod 'Firebase/Database'

end

【讨论】:

【参考方案8】:

对于仍然有这个问题的人。直接应对firebase walkthourgh网站时,安装字符串为:

pod `Firebase/Core`

虽然它应该是:

pod 'Firebase/Core'

如果这也适用于您,则无需设置 pod。

【讨论】:

【参考方案9】:

GitCocoapods 更新到最新版本:

Git:$ brew update && brew upgrade

Cocoapods:$ pod repo update

【讨论】:

以上是关于Firebase CocoaPods 安装不工作的主要内容,如果未能解决你的问题,请参考以下文章

安装 Firebase 2.4.3 cocoapods

Firebase/Admob 安装指南与 Cocoapods 网站上的 pod 与 Google 上的 Firebase 安装指南

无法通过 cocoapods 将 Firebase 安装到我的 Xcode 项目中

pod 安装时出现 Flutter 错误:CocoaPods 找不到 pod“Firebase/CoreOnly”的兼容版本

Firebase Podfile - CocoaPods 无法更新

关于 Cocoapods 和 Firebase/Messaging 的 Unity iOS 构建错误