Flutter 构建失败 'UserAgent.h' 文件未找到

Posted

技术标签:

【中文标题】Flutter 构建失败 \'UserAgent.h\' 文件未找到【英文标题】:Flutter build failed 'UserAgent.h' file not foundFlutter 构建失败 'UserAgent.h' 文件未找到 【发布时间】:2020-04-22 19:51:52 【问题描述】:

项目无法使用 firebase_crashlytics 构建或调试。在我的 Mac 中,我已更新到 Flutter 最新版本,但我们正在部署该应用程序的机器版本较低(Flutter 1.9.1 hotfix-5)。所以我尝试了以下事情:

flutter pub cache repair flutter clean 删除 Podfile.lock 和 ios/pod install

但没有运气。

#import "UserAgent.h"
        ^~~~~~~~~~~~~
1 error generated.

有没有暂时不升级flutter的解决方案?

【问题讨论】:

在这里查看我对问题的回答。 ***.com/a/60645357/4412850 【参考方案1】:

我快到了,我想即使我清理了颤振,pod install 也不会清除所有内容。我只需要执行以下步骤:

flutter clean 删除 Podfile.lock cd ios pod deintegrate// or you can do **cd ios/pod deintegrate** without above step pod install

如果这仍然不起作用。请关闭 .xcworkspace 和 podfile.lock 然后再次执行最后两步并打开新生成的 .xcworkspace 和 Product -> build。

如果还没有解决,请在下面添加评论(我已经处理了很多这些问题)。

在此处查看已为此创建的问题:issue 1 with firestore 和 issue 2 with crashlytics。

【讨论】:

【参考方案2】:

如 firestore issue ticket 中所述,将 firebase 核心版本修复为 0.4.4 而不是使用 0.4.4+2 解决了该问题:

dependency_overrides:
  firebase_core: 0.4.4

将此与您现有的 firebase_auth 依赖项一起添加。

【讨论】:

【参考方案3】:

这里有两个尝试解决这个问题的解决方案

    如果有人将^ 保留在像firebase_core: ^0.4.4+2 这样的版本中,请将其删除,否则它将继续使用更新的版本。

    为了解决这个问题,Pubspec.yaml 从所有 firebase 插件和 flutter clean 中删除了 ^

    firebase_auth: 0.15.4
    cloud_firestore: 0.13.4
    firebase_core: 0.4.4
    

    如果您尝试了第一个解决方案,但仍然出现错误,则 .pub-cache 有问题

    要解决此问题,请运行以下命令。

      cd ios pod deintegrate cd .. flutter channel stable flutter upgrade flutter clean flutter build ios

【讨论】:

【参考方案4】:

我找到了解决办法

只需注释或导入并将此代码放在下面,它应该看起来像这样

#import "FLTFirebaseCorePlugin.h"
// #import "UserAgent.h"
// Generated file, do not edit

#define LIBRARY_VERSION @"0.4.4-2"
#define LIBRARY_NAME @"flutter-fire-core"

【讨论】:

以上是关于Flutter 构建失败 'UserAgent.h' 文件未找到的主要内容,如果未能解决你的问题,请参考以下文章

Flutter项目添加华为agconnect后构建失败

任务':app:mergeDebugResources'的Flutter构建失败

Flutter ios 构建失败 - Distill 因未知原因而失败

Flutter 构建失败('无法读取包名')

Flutter 项目构建失败

Flutter 构建在 iOS 上失败,但在 android 上工作