不包括设备bitcode上的iOS Framework

时间:2017-04-06 10:30:39

标签: ios alamofire ios-frameworks

我正在为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,它是胖框架(为设备和模拟器构建)。我该如何解决?

3 个答案:

答案 0 :(得分:1)

发现此讨论可能是relevant

总之,需要以下设置: BITCODE_GENERATION_MODE =发布版本的bitcode和BITCODE_GENERATION_MODE =调试版本的标记

希望有所帮助。

亲切的问候, 木孔德

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

  1. pods.xcodeproj下,选择所有目标广告。
  2. Build Settings下导航并确保您的全部内容 “豆荚”> “构建设置”>设置“仅构建活动体系结构” “不”。
  3. 启用Bitcode设置为YES
  4. 然后,点击项目目标,然后按照步骤2和3
  5. 进行操作
  6. 清理构建并制作Archive