【问题标题】:Flutter ios release build cannot find snapshotFlutter ios release build 找不到快照
【发布时间】:2020-03-28 22:49:49
【问题描述】:

在尝试构建 Flutter ios 应用程序以进行发布时,我每次都会收到此错误

Failed to find snapshot: /var/containers/Bundle/Application/19D78607-A03B/Runner.app/Frameworks/App.framework/flutter_assets/kernel_blob.bin

我已经尝试了这些方法来纠正它,但失败了

  1. 运行 flutter clean 然后 flutter run --release
  2. 将颤振通道更改为 beta 和 master
  3. 删除构建文件夹,然后flutter clean和flutter run --release
  4. flutter clean > flutter build ios > 在 Xcode 中存档以在试飞中进行测试

有人知道怎么解决吗?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    在过去的几天里,我经常看到这个问题。我重新创建了我的 ios 目录,暂时解决了这个问题,但它又回来了。

    我了解到,kernel_blob.bin 预计不会出现在发布版本中,因为该文件包含您的 Dart 源代码,为 JIT 准备的字节码形式,但发布版本不使用 JIT,它们使用 AOT 和您的Dart 文件被编译成二进制文件,放在 App.framework 下。相反,发生此错误是因为应用程序的发布版本错误地合并了 Flutter 引擎的调试(即 JIT)版本。

    到目前为止,我发现的最佳解决方案是将 build 文件夹移至回收站(flutter clean 无法正常工作,并且由于某种原因在删除 build 文件夹时无限期挂起),运行 flutter clean,运行 flutter build ios --首先从命令行发布,然后(在我的情况下)在 Xcode 中创建存档。

    运行颤振医生-v

    【讨论】:

    【解决方案2】:

    我已经解决了这个问题,如果有人发生了,你可以试试这个。

    移除 Flutter.framework,重新构建。确保 Flutter.framework 和 App.framework 是相同的调试或发布模式。

    【讨论】:

      【解决方案3】:

      从终端运行以下命令,这会删除“ios/Flutter/App.framework”及其下面的所有内容:

      rm -rf ios/Flutter/App.framework
      

      然后从 xCode 重建您的应用程序。这为我解决了这个问题。

      【讨论】:

      • 运行此 Xcode 后显示新错误“ld: framework not found App”
      猜你喜欢
      • 2022-07-12
      • 2020-01-02
      • 2023-01-18
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多