已经苦苦挣扎了几天...基本上,我已经构建了一个已编译的发布框架,并与cocoaPods一起分发了它。问题在于,然后将此框架应用程序存档会出现以下错误:
ld: bitcode bundle could not be generated because '/.../testingPodsAcrossversions/Pods/Pod/Pod.framework/Pod' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/.../testingPodsAcrossversions/Pods/Pod/Pod.framework/Pod' for architecture arm64
我做了这些事情:
搜索“启用位码”设置,并将其设置为“调试”和“释放”模式。
搜索位码设置。在调试和发布模式下添加-fembed-bitcode,也可以在调试和发布模式中添加-fembed-bitcode-marker -fembed-bitcode处于“释放”模式。
在“用户定义”设置下添加BITCODE_GENERATION_MODE ,然后为“调试”和“发布”模式添加位代码,或者您可以在“调试”和“发布”模式中添加位标记。
我只需要发行版本,所以我没有构建通用框架,只是发行版本...我真的想解决这个问题,因为这对我来说是一场噩梦。
答案 0 :(得分:1)
如果您使用的是Pod,请尝试将其添加到Podfile(它为我解决了相同的问题):
getAcceptedTransferMode()
答案 1 :(得分:0)
在podfile的末尾添加以下代码
def enable_bitcode_in(config)
cflags = config.build_settings['OTHER_CFLAGS'] || ['$(inherited)']
if config.name == 'Release'
cflags << '-fembed-bitcode'
config.build_settings['BITCODE_GENERATION_MODE'] = 'bitcode'
else # 'Debug'
cflags << '-fembed-bitcode-marker'
config.build_settings['BITCODE_GENERATION_MODE'] = 'marker'
end
config.build_settings['OTHER_CFLAGS'] = cflags
end
def enable_bitcode_for(targets)
targets.each do |target|
target.build_configurations.each do |config|
enable_bitcode_in(config)
end
end
end
post_install do |installer|
enable_bitcode_for(installer.pods_project.targets)
end