Firebase iOS 卡在“运行您的应用程序以验证安装”

Posted

技术标签:

【中文标题】Firebase iOS 卡在“运行您的应用程序以验证安装”【英文标题】:Firebase iOS stuck at 'Run your app to verify installation' 【发布时间】:2019-10-13 04:14:34 【问题描述】:

适用于 ios 的 React Native Firebase 安装在“运行您的应用程序以验证安装”屏幕上被阻止。

React Native Firebase 之前为我在 android 上工作过。

我遵循了这些说明。

https://rnfirebase.io/docs/v5.x.x/installation/ios https://firebase.google.com/docs/ios/setup#add_the_sdk

这是我到目前为止所做的。

-在 Firebase.google.com 页面中设置项目。

-在那里创建一个 iOS 应用程序。

-通过 npm 安装 react-native-firebase。

-将 GoogleService-Info.plist 文件添加到 XCode 中的项目中。

-更改 ios/[您的应用程序名称]/AppDelegate.m 文件。

-创建一个新的 Podfile(Cocoa pod)并通过“pod update”命令对其进行更新。

-根据指令向 Podfile 添加和编辑行。

-运行“pod install”

-从项目根目录运行“react-native link react-native-firebase”。

-单击 Firebase 控制台中的“下一步”按钮,然后转到“运行您的应用程序以验证安装”部分。

-通过运行“react-native run-ios”命令在模拟器上运行 iOS 应用程序。

应用程序启动并在模拟器中正常运行。

Firebase 页面中没有任何反应。

这是我的 Podfile 的前几行。

# Uncomment the next line to define a global platform for your 
project
platform :ios, '9.0'

# Required by RNFirebase
pod 'Firebase/Core', '~> 5.20.1'

target 'My_App_Name' do

【问题讨论】:

在原生iOS中除了Firebase/Core,还需要导入特定的Firebase模块,如Firebase/FirestoreFirebase/Storage 哈!这是否意味着如果您只有 Core,Firebase 身份验证将无法识别它?我不知道!谢谢。这次我尝试了 Analytics 和 AdMob 模块。但同样的结果。仍然停留在“运行您的应用程序以验证安装”。 【参考方案1】:

https://dev-yakuza.github.io/en/react-native/react-native-firebase-admob/

查看此人的博客。在他的特殊情况下,他正在集成 Firebase 和 Admob,但第一部分确实描述了如何安装和设置 RNFirebase 包。

【讨论】:

谢谢。是的。我也看过那个博客,结果是一样的。他们在这个博客中使用的一些文档与官方的 React-Native-Firebase 指令相矛盾。它可能基于旧版本的 React-Native-Firebase。我认为这个博客提供的最大价值是你完成初始设置之后的步骤。当我在开发 Android 应用程序时,这个博客是关于如何在 App.js 级别显示广告的最有用的教程。 (安装 React-Native-Firebase 之后)。您是否真的关注了这个博客并设法在 iOS 上安装了 Firebase? 我一直在将本教程用于我从事的项目。我正在使用 react-native 0.59.8 , react-native-firebase 5.4.2。我正在为 Android 和 iOS 应用程序集成 Firebase。对于 iOS 来说,处理 pad 有点麻烦。安装 firebase pad 时,请确保打开 xcworkspace 文件而不是 xcodeproj。在 XCode 中打开它并确保它构建良好。如果它没有跟踪错误并修复它。在集成需要链接的外部库时,我遵循的一条规则是始终在 Android Studio 和 XCode 中运行它并构建应用程序。 另外,请确保在设备上重新安装应用程序(真实/模拟器)并将配置复制到正确的目录中。否则,您可以从 RN Firebase 网站下载示例项目。希望这可以帮助。问候。【参考方案2】:

感谢@Mike Hardy 在此处的另一个线程中,我找到了部分答案:

Error message - RNFirebase core module was not found natively on iOS

在大多数情况下,您可以相信此页面上的官方说明。

https://rnfirebase.io/docs/v5.x.x/installation/initial-setup 

但是。为了在 iOS 上安装 React Native Firebase,您需要遵循一些没有明确说明的内容。 我按照以下步骤操作,并设法通过了无限的“验证安装”循环。

-1) 从您的 Podfile 中注释掉以下行。您可能会在两个位置看到同一行。将它们全部注释掉。

use_frameworks!

-2) 还要在 Podfile 中最后一个 end 之前注释掉几行。完成此操作后,您只会在最后一行看到一个 end 实例。

  target ‘YourProjectName-tvOSTests' do
  inherit! :search_paths
  # Pods for testing
  end

-3) 在最后的end 之前插入以下行。

system("mkdir -p Pods/Headers/Public/FirebaseCore && cp Pods/FirebaseCore/Firebase/Core/Public/* Pods/Headers/Public/FirebaseCore/")

-4) 然后,从终端运行 pod installpod update

-5) 转到 Xcode,检查 Build Phases/ Link Binary with Libraries 部分。确认libRNFirebase.a 已经存在。

-6) 转到 Xcode,选择您选择的设备并点击“运行”*

*如果您从终端使用命令,它将不再在模拟器中打开您的应用程序。我不知道为什么。但是看起来好像一旦安装了 React Native Firebase,测试你的应用程序的唯一方法就是通过 Xcode。

react-native run-ios

**请注意,我仅使用 ‘Firebase/Core’ pod 进行了验证。当我尝试在 Podfile 中添加 ‘Analytics’‘AdMob’ 模块时,它崩溃了。

【讨论】:

【参考方案3】:

我的问题是我的 GoogleService-Info.plist 实际上来自不同的 firebase 项目,所以它的项目 ID、捆绑包 ID 等错误。

【讨论】:

【参考方案4】:

对于原生反应

所以我遇到了同样的问题,我很傻,我把 GoogleService-Info.plist 文件放在了错误的地方......

需要直接进入/ios文件夹!

【讨论】:

【参考方案5】:

您需要在 Podfile 中包含必要的模块。 这是我的 Podfile

  pod 'Firebase/Core', '~> 6.3.0'

  pod 'Firebase/Messaging', '~> 6.3.0'

  pod 'Firebase/AdMob', '~> 6.3.0'

请注意,我必须在 Librairie > Build Settings 中的 RNFirebase.xcodeproj 文件中使用 XCode 手动更改 GoogleMobileAds 的框架路径以将 $(SRCROOT)/../../../ios/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current 值strong> > 框架搜索路径

【讨论】:

谢谢!你能详细说明一下吗?您指的是 “.xcworkspace” 吗?或者你的意思是“.xcodeproj”?您如何找到您所指的部分?我看到有一个“构建设置”部分。但我不确定你指的是什么。 实际上有两个 .xcodeproj,第一个来自您的项目,然后是 Librairies 文件夹,您将在 RNFirebase 中找到第二个。然后我们正在讨论最后一个的构建设置和框架搜索路径。【参考方案6】:

我不知道这是否适合你,但这就是我所做的。 我备份了我的文件。创建了一个新项目。 在没有代码的新项目上运行 pod init 和 pod install。 在此之后,我关闭了 Xcode 并在同一个终端窗口中运行 $ sudo gem install cocoapods --pre。

最后在终端中我再次运行了 pod install 和 pod update。 此时我重新打开了我的新项目并重新连接了我的文件。像宝石一样工作。

我在新的 Mac Book Pro 上为此奋斗了大概 12 个小时。

【讨论】:

【参考方案7】:

您的 Pod 中可能没有最新版本的 Firebase。 打开你的 Pod 文件并在“end”语句之前添加:

pod 'Firebase/Analytics'

pod 'Firebase/Auth'

pod 'Firebase/Firestore'

转到终端并 cd 到 Xcode 项目的根文件夹。

现在,输入 “pod install” 并回车。这应该会更新您的 Firebase SDK 并在您构建应用时构建最新版本的 Firebase。

注意:您还应该在模拟器上删除您的应用并重新安装以使更改生效。

【讨论】:

以上是关于Firebase iOS 卡在“运行您的应用程序以验证安装”的主要内容,如果未能解决你的问题,请参考以下文章

卡在 firebase_token.java

Firebase DynamicLink Url 返回 JSON 序列化错误。 iOS

如何知道在 Flutter 应用中使用哪个版本的 Google Firebase 插件?

Xcode 11 卡在存档上

iCarousels 卡在 iOS 7 中

蓝牙外设卡在 iOS 上的“正在连接”状态