20

我创建了一个新应用程序,我正在尝试使用react-native-firebase. 但我不断收到此错误:

在 iOS 上未原生找到 RNFirebase 核心模块,请确保您已在项目“Podfile”中正确包含 RNFirebase pod 并已运行“pod install”。

有关 ios 设置指南,请参阅http://invertase.link/ios

我已经完成的步骤:

  1. yarn add react-native-firebase

  2. react-native link react-native-firebase

  3. 在 .../myproject/ios/myproject 下从 Google 设置我的 .plist 文件
  4. pod update在确保我使用的是 Ruby 2.5.0 之后运行
  5. 运行 pod 安装

我目前使用的 pod 文件是:

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

target 'MyProject' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!
    pod 'Firebase/Core'
    pod 'Firebase/Database'
    pod 'Firebase/Messaging'

  target 'MyProjectTests' do
    inherit! :search_paths
    # Pods for testing
  end

end

这些是我正在使用的版本:

"react": "^16.3.0-alpha.1",
"react-native": "0.54.2",
"react-native-firebase": "^3.3.1",
4

3 回答 3

4

如果不想手动链接,可以尝试直接将 RNFirebase 安装为 pod install:

pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'

更改或硬编码HEADER_SEARCH_PATHS对我没有帮助。当错误再次发生时,不需要rm -rf node_modules也不需要删除 pod 文件等,我发现清除缓存很有用。

于 2018-10-29T10:14:33.143 回答
1

我总是不喜欢使用带有 react native 的 pod,但是,react-native-firebase 的非流行安装说明将不起作用。

原因是包的搜索路径假定 /pods 或 /firebase

问题的根源

因此,要使其正确链接,请执行以下步骤:

  1. 下载firebase sdk
  2. 在 ios 下直接创建一个文件夹并将其命名为 Firebase,将 sdk 所需的框架复制到该文件夹​​中,而不保留子文件夹(注意,您尚未输入 XCode)
  3. 如果你还没有 npm install -s react-native-firebase
  4. 打开 XCode 并将所需的框架拖放到 XCode 中的 Frameworks 文件夹中(例如,在我的示例中是 Analytics、Messaging 和 DynamicLinks 文件夹的内容)。不要复制项目,因为您已经在 ios 的 Firebase 子文件夹中复制了项目: 添加框架

  5. 在 XCode 中右键单击库并选择“将文件添加到 [项目]”。在 node_modules 中找到 RNFirebase-project 并选择 RNFirebase.xcodeproj,不要“复制项目” RN项目文件

  6. 在项目/目标设置中,转到链接框架和库。查找并添加 libRNFirebase.a libRNFirebase.a

  7. 在 AppDelegate.m 中,根据 react-native-firebase 的说明进行调整,例如:import <Firebase.h> and [FIRAPP configure];didFinishLaunchingWithOptions

  8. 在标题搜索路径和框架搜索路径中,添加$(PROJECT_DIR)/Firebase
  9. 不要忘记将您的 GoogleServices-Info.plist 添加到您的项目中
于 2019-02-04T07:43:27.463 回答
0

我遇到了同样的问题,在尝试修复它时使我的应用程序在启动时崩溃。

我将它通过终端下的ios/AppFolder/但 Xcode 从来没有意识到这个文件。

帮助我的是在 Xcode 中打开我的项目。然后左键单击我的AppFolder > Add Files,然后添加GoogleService-Info.plist.

于 2018-09-10T13:42:39.047 回答