Flutter build ios bitcode问题,如何修复bitcode错误

Posted

技术标签:

【中文标题】Flutter build ios bitcode问题,如何修复bitcode错误【英文标题】:Flutter build ios bitcode problem, how to fix bitcode error 【发布时间】:2020-04-26 22:47:30 【问题描述】:

我尝试在连接手机的情况下构建 ios 或颤振构建 ios 我收到此错误

ld: '/Users/Library/Developer/Xcode/DerivedData/Runner-dwvxvkkosgpgqncynmszqlholtde/Build/Products/Debug-iphoneos/BoringSSL-GRPC/libBoringSSL-GRPC.a(BoringSSL-GRPC-dummy.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Users/Library/Developer/Xcode/DerivedData/Runner-dwvxvkkosgpgqncynmszqlholtde/Build/Products/Debug-iphoneos/BoringSSL-GRPC/libBoringSSL-GRPC.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果我使用模拟器运行它的工作, 构建 whit pshyscal 设备连接或颤振构建时出现问题 如何解决这个问题?

医生-v

[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en)
    • Flutter version 1.12.13+hotfix.5 at /Users/user/Development/flutter
    • Framework revision 27321ebbad (4 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0


[✓] android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/User/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.41.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.7.1

[✓] Connected device (1 available)
    • RIFAL’s iPhone • 8c498b6246bf8191b049a9253b87ff2604b85671 • ios • iOS 13.3

• No issues found!

【问题讨论】:

【参考方案1】:

安装一个依赖于位码的库后,我遇到了类似的问题。请将Enable Bitcode更改为项目Pods上的所有目标,如图所示,

【讨论】:

这为我解决了问题。我认为这应该是公认的答案。 每次我想构建时都必须这样做。必须有更好的方法来做到这一点并记住它。有什么想法吗? 首先,如果您使用的库默认启用位码,您将不必一直设置它的麻烦。是的,这令人沮丧,但 Flutter 目前不支持位码,所以我发现唯一更好的方法是避免使用需要位码的库。我在我的项目中删除了需要位码的扩展,并使用了我自己的实现,这样我就不必经历这个麻烦。这是我找到的更好的方法。 将启用位码从 YES 更改为 NO 解决了我的问题。 很高兴这有助于@sanyamjain

以上是关于Flutter build ios bitcode问题,如何修复bitcode错误的主要内容,如果未能解决你的问题,请参考以下文章

关于 Bitcode (Xcode build setting)

razorpay_flutter 在 PUBSPEC.YML 文件中集成它显示错误

Flutter 在执行 Flutter build ios 后卡在 Building Dart 代码上

为啥flutter build ios --obfuscate --split-debug-info= 失败并出现警告,但flutter build ios 有效?

iOS:BitCode的介绍

iOS之深入解析bitcode的功能与应用