Xcode 使用Firebase应用程序内消息传递插件时,Flatter无法编译项目

Xcode 使用Firebase应用程序内消息传递插件时,Flatter无法编译项目,xcode,firebase,flutter,flutter-plugin,firebase-in-app-messaging,Xcode,Firebase,Flutter,Flutter Plugin,Firebase In App Messaging,我成功地在android上实现了这个插件,但是当我尝试在ios上启动应用程序时,我收到了一条错误消息。当我禁用插件并在ios上重新安装应用程序时,一切正常。 这是我的控制台日志: Launching lib/main.dart on iPhone 5s in debug mode... Running pod install... Warning: Podfile is out of date This can cause a mismatched version of Flutter to

我成功地在android上实现了这个插件,但是当我尝试在ios上启动应用程序时,我收到了一条错误消息。当我禁用插件并在ios上重新安装应用程序时,一切正常。 这是我的控制台日志:

Launching lib/main.dart on iPhone 5s in debug mode...
Running pod install...
Warning: Podfile is out of date
  This can cause a mismatched version of Flutter to be embedded in your app, which may result in App Store submission rejection or crashes.
  If you have local Podfile edits you would like to keep, see https://github.com/flutter/flutter/issues/24641 for instructions.
To regenerate the Podfile, run:
  rm ios/Podfile

Running Xcode build...
Xcode build done.                                           41,0s
Could not build the application for the simulator.
Error launching application on iPhone 5s.
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    While building module 'FirebaseInAppMessaging' imported from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/FirebaseInAppMessagingDisplay/Firebase/InAppMessagingDisplay/FIDBaseRenderingViewController.h:19:
    In file included from <module-includes>:1:
    In file included from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/Target Support Files/FirebaseInAppMessaging/FirebaseInAppMessaging-umbrella.h:13:
    /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2: warning: The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework). [-W#warnings]
    #warning The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework).
     ^
    1 warning generated.
    1 warning generated.
    1 warning generated.
    1 warning generated.
    While building module 'FirebaseInAppMessaging' imported from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/Headers/Public/Firebase/Firebase.h:53:
    In file included from <module-includes>:1:
    In file included from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/Target Support Files/FirebaseInAppMessaging/FirebaseInAppMessaging-umbrella.h:13:
    /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2: warning: The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework). [-W#warnings]
    #warning The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework).
     ^
    1 warning generated.
    1 warning generated.
    While building module 'FirebaseInAppMessaging' imported from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/Headers/Public/Firebase/Firebase.h:53:
    In file included from <module-includes>:1:
    In file included from /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/Target Support Files/FirebaseInAppMessaging/FirebaseInAppMessaging-umbrella.h:13:
    /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2: warning: The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework). [-W#warnings]
    #warning The FirebaseInAppMessagingDisplay subspec is deprecated. Please remove FirebaseInAppMessagingDisplay from your Podfile (or delete the framework).
     ^
    1 warning generated.
    1 warning generated.
    duplicate symbol '_OBJC_CLASS_$_FIRIAMDefaultDisplayImpl' in:
        /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/build/ios/Debug-iphonesimulator/FirebaseInAppMessaging/FirebaseInAppMessaging.framework/FirebaseInAppMessaging(FIRIAMDefaultDisplayImpl.o)
        /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/build/ios/Debug-iphonesimulator/FirebaseInAppMessagingDisplay/FirebaseInAppMessagingDisplay.framework/FirebaseInAppMessagingDisplay(FIRIAMDefaultDisplayImpl.o)
    duplicate symbol '_OBJC_METACLASS_$_FIRIAMDefaultDisplayImpl' in:
        /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/build/ios/Debug-iphonesimulator/FirebaseInAppMessaging/FirebaseInAppMessaging.framework/FirebaseInAppMessaging(FIRIAMDefaultDisplayImpl.o)
        /Users/manolo/Developer/flutterprojects/fitness_recipes_clean/build/ios/Debug-iphonesimulator/FirebaseInAppMessagingDisplay/FirebaseInAppMessagingDisplay.framework/FirebaseInAppMessagingDisplay(FIRIAMDefaultDisplayImpl.o)
    ld: 2 duplicate symbols for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Planning build
    note: Constructing build description
在调试模式下在iPhone 5s上启动lib/main.dart。。。
正在运行pod安装。。。
警告:Podfile已过期
这可能会导致应用程序中嵌入不匹配的颤振版本,这可能会导致应用程序商店提交被拒绝或崩溃。
如果要保留本地播客文件编辑,请参阅https://github.com/flutter/flutter/issues/24641 请示。
要重新生成播客文件,请运行:
rmios/Podfile
正在运行Xcode生成。。。
Xcode构建完成。41,0年代
无法为模拟器生成应用程序。
在iPhone 5s上启动应用程序时出错。
无法生成iOS应用程序
Xcode生成的错误输出:
↳
**构建失败**
Xcode的输出:
↳
在构建从/Users/manolo/Developer/projects/fitness\u recipes\u clean/ios/Pods/FirebaseInAppMessagingDisplay/Firebase/InAppMessagingDisplay/FIDBaseRenderingViewController导入的模块“FireBaseinAppMessagingMessageing”时。h:19:
包含在以下文件中:1:
包含在/Users/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/Target支持文件/FirebaseInAppMessaging/FirebaseInAppMessaging伞形文件中。h:13:
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2:警告:firebaseinappmessagingsplay子类已被弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。[-W#警告]
#警告FirebaseInAppMessagingDisplay子类别已弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。
^
生成1个警告。
生成1个警告。
生成1个警告。
生成1个警告。
在构建从/Users/manolo/Developer/projects/fitness\u recipes\u clean/ios/Pods/Headers/Public/Firebase/Firebase导入的模块“FirebaseInAppMessaging”时。h:53:
包含在以下文件中:1:
包含在/Users/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/Target支持文件/FirebaseInAppMessaging/FirebaseInAppMessaging伞形文件中。h:13:
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2:警告:firebaseinappmessagingsplay子类已被弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。[-W#警告]
#警告FirebaseInAppMessagingDisplay子类别已弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。
^
生成1个警告。
生成1个警告。
在构建从/Users/manolo/Developer/projects/fitness\u recipes\u clean/ios/Pods/Headers/Public/Firebase/Firebase导入的模块“FirebaseInAppMessaging”时。h:53:
包含在以下文件中:1:
包含在/Users/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/Target支持文件/FirebaseInAppMessaging/FirebaseInAppMessaging伞形文件中。h:13:
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/ios/Pods/FirebaseInAppMessaging/FirebaseInAppMessaging/Sources/Public/FirebaseInAppMessaging.h:21:2:警告:firebaseinappmessagingsplay子类已被弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。[-W#警告]
#警告FirebaseInAppMessagingDisplay子类别已弃用。请从POD文件中删除FirebaseInAppMessagingDisplay(或删除框架)。
^
生成1个警告。
生成1个警告。
在以下位置重复符号“\u OBJC\u CLASS\u$\ u FIRIAMDefaultDisplayImpl”:
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/build/ios/Debug iphonesimulator/FirebaseInAppMessaging/FirebaseInAppMessaging.framework/FirebaseInAppMessaging(FIRIAMDefaultDisplayImpl.o)
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/build/ios/Debug iphonesimulator/firebaseinappmessagingsplay/firebaseinappmessagingsplay.framework/firebaseinappmessagingsplay(FIRIAMDefaultDisplayImpl.o)
在以下位置重复符号“\u OBJC\u元类”\u$\u FIRIAMDefaultDisplayImpl”:
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/build/ios/Debug iphonesimulator/FirebaseInAppMessaging/FirebaseInAppMessaging.framework/FirebaseInAppMessaging(FIRIAMDefaultDisplayImpl.o)
/用户/manolo/Developer/platterprojects/fitness\u recipes\u clean/build/ios/Debug iphonesimulator/firebaseinappmessagingsplay/firebaseinappmessagingsplay.framework/firebaseinappmessagingsplay(FIRIAMDefaultDisplayImpl.o)
ld:架构x86_64的2个重复符号
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
注意:使用新的构建系统
注:规划建造
注意:构建构建描述

是否有人面临同样的问题并能够解决它

您可以尝试以下操作:

飘动干净

rmios/Podfile

rm ios/Podfile.lock

吊舱更新

吊舱安装

这就行了。

我修好了

  • 在应用程序消息中评论firebase,即(#firebase在应用程序消息中:^0.1.1+3) 内部公共规范yaml

  • 运行
    flatter包获取

  • 删除ios文件夹中的Podfile.lock
  • 打开你的终端
  • cd到项目ios文件夹
  • 输入
    Vim Podfile
  • 按“i”键进入插入模式
  • 将这些添加到底部的行:
    pod'Firebase','6.15.0'

    pod'FirebaseInAppMessaging','0.16.0'
  • 按屏幕上的“esc”