flutter ios打包_关于Flutter iOS打包报错的问题
今天升级Xcode之后,使用打包机打iOS包的时候,报了一个错,报错的信息如下:note: Using new build systemnote: Building targets in parallelnote: Planning buildnote: Constructing build descriptionerror: Building for iOS, but the linked an
今天升级Xcode之后,使用打包机打iOS包的时候,报了一个错,报错的信息如下:
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: Building for iOS, but the linked and embedded framework 'App.framework' was built for iOS Simulator. (in target 'Runner' from project 'Runner')
大概的意思是,打包使用的App.framework是模拟器的。按照官网的介绍,我首先使用flutter clean Clean下了一下项目,然后删除ios/Flutter/App.framework的App.framework。当然也可以使用命令来删除App.framework,如下所示。
rm -rf ios/Flutter/App.framework
不过,执行上面的步骤后,仍然还是报错。如果还是报错,接下来我们继续往下看。 使用Xcode打开项目,然后点击左侧Navigator,然后删除App.framework和Flutter.framework两个库,如下图所示。
然后依次选择【Runner】->【Target】 ->【 Build Phases】 -> 【Link Binary With Libraries】和【Embed Frameworks】中,确认下图红框中没有App.framework和Flutter.framework,有的话直接删除,如下图所示。
然后,在【Build Phases】的 Thin Binary选项中的添加如下脚本:
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" thin
或者
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed_and_thin
接下来,切换到【Runner Target】的Build Settings面板,双击“Other Linker Flags”选项,在弹出窗口中点击+号,并输入如下代码。
$(inherited) -framework Flutter
然后,再次执行打包就没有任何问题了。遇到的问题,记录下。
更多推荐



所有评论(0)