Flutter混合开发,pod install后报错dyld: Library not loaded: @rpath/App.framework/Flutter

我的项目中的Flutter是通过Cocoapods集成的,具体三种集成形式参考(在你的既有应用中集成 Flutter module)

在最近的一次使用AndroidStudio的时候,按照提示升级了一堆插件后,我回到Xcode继续编写iOS时,加入了一个调试框架后,运行pod install后,编译是可以通过的,但一旦真机Run起来后,就直接甩出报错dyld: Library not loaded: @rpath/App.framework,但实际通过嵌入App.framework这种形式是会破坏原有的嵌入形式的,而且一旦更新组件就需要一堆指令集操作。

所以经过一番研究,解决办法如下:

1、在Flutter目录下运行:flutter build ios --release (报错的话自行解决,一般都是签名一类的问题)

2、在Flutter目录下运行:flutter build ios-framework--output=some/path/MyApp/Flutter/,其中some/path/MyApp/Flutter/为你存放framework的文件目录,自定义。

3、将第二步生成的App.xcfamework/ios-arm64_armv7下的文件拷贝进第一步生成在Xcode中App.framework的目录下,删除.xcworkspace,Xcode clean、重新pod install,重新打开新的xcworkspace即可成功运行。

总结:主要问题是不知道什么版本原因还是什么Bug,实际build生成的App.framework下只有一个App执行文件,所以导致找不到框架问题,通过手动生成复制进去解决。

你可能感兴趣的:(Flutter混合开发,pod install后报错dyld: Library not loaded: @rpath/App.framework/Flutter)