gpt4 book ai didi

ios - 在 xcode11 中构建具有完整位码的胖框架

转载 作者:行者123 更新时间:2023-12-01 16:21:09 25 4
gpt4 key购买 nike

我想做什么:

我正在尝试在 xcode11 中构建一个 cocoapods 框架,然后在 iOS SDK 中使用它。

我试过的:

  • 套装Enable Bitcode是的
  • 在搭建框架之前,我已经设置了Other C flags-fembed-bitcode-fembed-bitcode-marker分别用于发布和调试。
  • 我还将用户定义的build设置设置为 BITCODE_GENERATION_MODEbitcodemarker .
  • 为模拟器和设备构建;设置要发布的构建方案。
  • 关注 this使用 lipo 构建胖框架的文章。

  • 我面临的问题:

    将框架的预发布版本发布到 Cocoapods 后,我将其安装在我的 SDK 中。设备(发布)的 SDK 构建失败,并显示以下消息:
    ld: bitcode bundle could not be generated because '/Users/sourobratasarkar/Library/Developer/Xcode/DerivedData/Beaconstac-dpnhqvwchyqaeyavlbmfsntqlgnn/Build/Products/Release-iphoneos/EddystoneScanner/EddystoneScanner.framework/EddystoneScanner' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/Users/sourobratasarkar/Library/Developer/Xcode/DerivedData/Beaconstac-dpnhqvwchyqaeyavlbmfsntqlgnn/Build/Products/Release-iphoneos/EddystoneScanner/EddystoneScanner.framework/EddystoneScanner' for architecture armv7
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    它说该框架是在没有架构 arm7 的完整位代码的情况下构建的。

    构建框架时我缺少什么吗?使用 lipo -info我可以看到存在 arm7 架构。

    PS:调试(设备和模拟器)和发布(模拟器)的构建成功。

    最佳答案

    结果证明我构建框架的方式没有问题。将以下内容添加到我使用该框架的 SDK 的 Podfile 中为我解决了这个问题:

    post_install do |installer|
    installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
    config.build_settings['BITCODE_GENERATION_MODE'] = 'bitcode'
    config.build_settings['ENABLE_BITCODE'] = 'YES'
    end
    end
    end

    关于ios - 在 xcode11 中构建具有完整位码的胖框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59856434/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com