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 发布版本从终端失败的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS Flutter 构建 appbundle 失败:密钥库格式无效
使用新的 Flutter 2.2.2 版本为 Riverpod 运行“flutter pub get”时版本解决失败
Flutter:任务“:app:transformClassesAndResourcesWithProguardForRelease”执行失败