Flutter iOS版本无法找到快照

时间:2019-12-04 07:24:13

标签: flutter

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

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

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

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

有人知道如何解决吗?

3 个答案:

答案 0 :(得分:0)

最近几天我经常看到这个问题。我重新创建了ios目录,该目录临时修复了该问题,但是又回来了。

我了解到的是,预计发行版本中不存在kernel_blob.bin,因为该文件包含您的Dart源文件,它们以字节码形式可用于JIT,但是发行版本中不使用JIT,它们使用AOT,而您使用Dart文件被编译成位于App.framework下的二进制文件。相反,发生此错误是因为该应用的发行版本未正确包含Flutter引擎的调试(即JIT)版本。

到目前为止,我发现的最好的解决方案是将build文件夹移到垃圾箱(flutter clean无法正常工作,并且由于某种原因而无限期地挂起,删除build文件夹会挂起),运行flutter clean,运行flutter build ios-首先从命令行释放,然后(以我为例)在Xcode中创建存档。

运行Flutter Doctor -v

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

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

rm -rf ios/Flutter/App.framework

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