【问题标题】:iOS Framework on device bitcode not included不包括设备位码上的 iOS 框架
【发布时间】:2017-09-01 07:54:54
【问题描述】:

我正在为 iOS 开发静态库,我在其中使用 Alamofire。当我尝试为模拟器构建发布时,一切正常,但是当我尝试为设备构建它(发布或调试)时,我遇到以下问题:

ld: bitcode bundle could not be generated because '/PathToMyLibraryProducts/Release-iphoneos/Alamofire/Alamofire.framework/Alamofire' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build for architecture armv7

我的框架启用了位码,它是胖框架(为设备和模拟器构建)。我该如何解决?

【问题讨论】:

  • 直接在设备上运行?
  • 当我为“通用设备”构建时,当我为真实设备构建时,只有一点点不同的消息 - bitcode ... for architecure amd64
  • 这个问题你解决了吗???如何确保位码支持

标签: ios alamofire ios-frameworks


【解决方案1】:

我认为,在为 Generic Device 构建时,bitcode 未启用。因此,请执行以下操作:

  1. pods.xcodeproj 下,选择所有 pod 目标。
  2. Build Settings 下导航并确保您的所有 “Pods”>“构建设置”>“仅构建活动架构”已设置 改为“否”。
  3. 启用Bitcode 设置为YES
  4. 然后,点击项目目标,然后按照第 2 步和第 3 步进行操作
  5. 清理构建并制作Archive

【讨论】:

  • 之后,当存档我得到ld: -reexport_framework and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together。在设备上运行没有任何更改。
  • 你清理过构建吗?并删除 DeviredData 文件夹。
  • 好的,我可以归档正在使用我的框架的应用程序。但是我仍然无法在设备上运行它并且无法生成胖库
  • 在设备上运行时遇到什么错误?
  • 我在回答中提到的相同 - ld: bitcode bundle could not be generated because '/PathToMyLibraryProducts/Release-iphoneos/Alamofire/Alamofire.framework/Alamofire' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build for architecture armv64
【解决方案2】:

发现这个讨论可能是relevant

总而言之,需要以下设置: BITCODE_GENERATION_MODE=发布版本的位码,BITCODE_GENERATION_MODE=调试版本的标记

希望对您有所帮助。

亲切的问候, 穆昆德

【讨论】:

    【解决方案3】:

    如果您将 cocoapods-binary 与 cocoapods 一起使用

    会出现此错误,因为 cocoapods-binary 不会生成启用位码的框架,除非您通过在 Podfile 中使用此密钥明确指出:

    enable_bitcode_for_prebuilt_frameworks

    这是您的 Podfile 的外观:

    plugin 'cocoapods-binary'
    
    platform :ios, '12.0'
    use_frameworks!
    enable_bitcode_for_prebuilt_frameworks!
    all_binary!
    
    target 'ProjectName' do
        pod 'Alamofire'
    end
    
    

    【讨论】:

    • 获取无效Podfile 文件:未定义方法`enable_bitcode_for_prebuilt_frameworks!'
    猜你喜欢
    • 2012-10-31
    • 2017-07-03
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2018-01-02
    相关资源
    最近更新 更多