Flutter ios 发布版本找不到快照



在尝试构建颤振iOS应用程序以发布时,每次都收到此错误

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

我尝试过这些事情来纠正它,但失败了

运行颤振
  1. 干净,然后颤振运行 --释放
  2. 将颤振通道更改为 beta 和
  3. 删除构建文件夹,然后颤振清理并颤振运行 --释放
  4. 颤振干净> 颤振在 Xcode 中构建 iOS>存档以在测试飞行中进行测试

有谁知道如何解决它?

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

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

到目前为止,我发现的最佳解决方案是将构建文件夹移动到垃圾箱(颤振清理不起作用,并且由于某种原因无限期地挂起删除构建文件夹(,运行颤振清理,运行颤振构建ios --release首先从命令行,然后(在我的情况下(在Xcode中创建存档。

运行颤振医生-v

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

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

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

rm -rf ios/Flutter/App.framework

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

相关内容

最新更新