【问题标题】:React Native Firebase Cloud Messaging throwing errors on build for RN 0.63.4React Native Firebase Cloud Messaging 在构建 RN 0.63.4 时抛出错误
【发布时间】:2021-05-29 22:48:30
【问题描述】:

我按照here 的 iOS 说明进行操作,但编译显示这些错误。我猜这是某种版本不兼容,但我相信我使用的是最新版本的react-native-firebase。当我构建应用程序时,会出现以下错误:

❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:91:51: expected a type

- (void)applicationReceivedRemoteMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage {
                              ^



❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:99:28: expected a type

didReceiveMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage {
                                                  ^



❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:278:50: expected a type

- (NSDictionary*)parseFIRMessagingRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage {
                           ^



❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:44:30: property 'shouldEstablishDirectChannel' not found on object of type 'FIRMessaging *'

    [FIRMessaging messaging].shouldEstablishDirectChannel = YES;
                                                 ^



❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:223:31: no visible @interface for 'FIRMessaging' declares the selector 'sendMessage:to:withMessageID:timeToLive:'

    [[FIRMessaging messaging] sendMessage:data to:to withMessageID:messageId timeToLive:[ttl intValue]];
                             ^



❌  /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m:279:43: property 'appData' not found on object of type '__strong id'

    NSDictionary *appData = remoteMessage.appData;
     ~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

构建失败:

error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening trustline.xcworkspace.
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace myapp.xcworkspace -configuration Debug -scheme myapp -destination id=2811E5D0-88A1-490E-AB1C-2F192015AFB2

...

** BUILD FAILED **


The following build commands failed:
    CompileC /Users/matt/Library/Developer/Xcode/DerivedData/myapp-gpcpfeonrmwlebbsoklspvmumvzd/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseFirestore.o /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/firestore/RNFirebaseFirestore.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC /Users/matt/Library/Developer/Xcode/DerivedData/myapp-gpcpfeonrmwlebbsoklspvmumvzd/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNFirebase.build/Objects-normal/x86_64/RNFirebaseMessaging.o /Users/matt/Desktop/myapp/node_modules/react-native-firebase/ios/RNFirebase/messaging/RNFirebaseMessaging.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)

在我的package.json:

...
    "react-native-firebase": "^5.6.0",
    "@react-native-firebase/app": "^10.8.1",
    "@react-native-firebase/firestore": "^10.8.1",
    "@react-native-firebase/messaging": "^10.8.1",
...

我该如何解决?

【问题讨论】:

  • 你使用的是Expo还是Reactnative cli,因为firebase的下载过程不同,请先告诉你使用的是哪种cli?

标签: ios firebase react-native firebase-cloud-messaging


【解决方案1】:

这似乎是问题所在。

来自https://www.npmjs.com/package/react-native-firebase

⚠ 目前不支持带有 react-native 0.60.3 及更高版本的 Hermes VM。一些初步测试已经完成,看来这个库中的有效代码不能在 Hermes 上正常运行。

我删除了这个包并且它起作用了,因为它似乎与@react-native-firebase/ 范围包是分开的。

【讨论】:

  • 你删除了哪个包?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 2021-04-25
  • 2020-10-23
  • 2017-12-20
  • 2021-09-06
  • 2021-08-04
相关资源
最近更新 更多