Flutter 发布版本从终端失败

Posted

技术标签:

【中文标题】Flutter 发布版本从终端失败【英文标题】:Flutter release build fails from terminal 【发布时间】:2019-06-14 20:31:57 【问题描述】:

我正在构建我的应用以部署到应用商店。当我尝试通过命令行构建时,构建失败并出现链接器错误。如果我直接通过 Product -> Archive 在 Xcode 10.2 中尝试相同的构建,则构建成功完成。我正在使用来自稳定频道的最后一个颤振版本。

我已经尝试完全卸载 Pods 并重新启动,但这并没有改变错误。

rm -rf ~/Library/Caches/CocoaPods
rm -rf Pods
rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod deintegrate
pod setup
pod install

我还尝试删除所有具有平台特定代码的 Pod,但仍然无法使用以下命令构建。

我用于构建的命令是

flutter build ios --release --no-codesign

我稍后在过程中使用 fastlane 完成构建(签名并上传到 App Store)

终端构建错误如下图所示

ld: framework not found App
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ld: framework not found App
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===
    error: the following command failed with exit code 1 but produced no further output
    Ld /Users/admin/Library/Developer/Xcode/DerivedData/Runner-dhbqkotqxaizmcalpjzdyswlcahi/Build/Intermediates.noindex/Runner.build/Release-iphoneos/Runner.build/Objects-normal/arm64/Runner normal arm64

【问题讨论】:

【参考方案1】:

几年前filed in GitHub 也有同样的问题。从那时起,解决方法之一就是thread 中提到的解决方法:

我想我有同样的问题,也得到了这个错误:ld: framework 未找到应用程序

这就是我修复它的方法:我注意到在 project/ios/Flutter 文件夹,App.framework 丢失。不知道是什么原因造成的,但我是 当然我没有故意删除它。我从一个新的 Flutter 复制了它 项目,它现在工作正常。

如果你有同样的情况,你可以做同样的解决方法。

另外,如果您使用的是最新版本的 Flutter,this fix 应该已经解决了这个问题。

【讨论】:

以上是关于Flutter 发布版本从终端失败的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 主题版本解决失败

Mac OS Flutter 构建 appbundle 失败:密钥库格式无效

使用新的 Flutter 2.2.2 版本为 Riverpod 运行“flutter pub get”时版本解决失败

Flutter:任务“:app:transformClassesAndResourcesWithProguardForRelease”执行失败

vscode 在最新的 Flutter 版本上无法热重载

Android项目创建Flutter module后运行编译失败问题