我正在为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
我的框架已经启用了位代码,并且是胖框架(为设备和模拟器构建)。我如何解决这个问题?
4条答案
按热度按时间0dxa2lsx1#
如果您使用cocopods-binary搭配cocopods
出现此错误的原因是cocoapods-binary不会生成启用了位代码的框架,除非您在
Podfile
中使用此键特别指明:enable_bitcode_for_prebuilt_frameworks
这是您的播客文件的外观:
3gtaxfhh2#
找到此讨论,可能是relevant
总之,需要以下设置:BITCODE_GENERATION_MODE=发布版本的位代码和BITCODE_GENERATION_MODE=调试版本的标记
希望能有所帮助。
顺祝商祺,Mukund
8tntrjer3#
我认为,当您为
Generic Device
构建时,bitcode
没有启用。因此,请执行以下操作:1.在
pods.xcodeproj
下,选择所有pod目标。1.在
Build Settings
下导航,确保所有“Pod”〉“Build Settings”〉“Build Active Architecture Only”都设置为“NO”。1.启用
Bitcode
设置为YES
1.然后,点击项目目标,并遵循步骤2和3
1.清理构建并生成
Archive
eanckbw94#
将此代码添加到您的pod文件中,它将为所有框架启用Bitcode。