融云干货丨由于 xcode16 不支持 framework开启bitcode,移除framework 中的bitcode
请根据你的具体情况选择合适的方法来移除framework中的Bitcode。如果你使用的是Xcode 16,请注意Bitcode已经不再被支持,因此重新编译或更新你的frameworks可能是必要的。
·
要移除framework中的bitcode,你可以采取以下几种方法:
-
在Xcode中禁用Bitcode:
- 打开你的Xcode项目。
- 选择你的项目在Project Navigator中。
- 选择你的目标应用。
- 选择“Build Settings”标签。
- 搜索“Enable Bitcode”并将其设置为“No”。
- 清理并重建你的项目(使用快捷键Shift + Command + K进行清理,然后使用Command + B进行重建)。
-
手动剥离Bitcode:
- 如果禁用Bitcode不起作用,你可以尝试手动从framework中剥离Bitcode。
- 打开终端。
- 运行命令:
xcrun bitcode_strip -r <path_to_your_Framework> -o <output_path>,其中<path_to_your_Framework>是你的framework的实际路径。
-
使用命令行工具:
- 你也可以使用命令行工具
xcrun bitcode_strip来手动去除framework的Bitcode。命令格式如下:xcrun bitcode_strip -r ${framework_path} -o ${framework_path},其中${framework_path}是framework的二进制文件路径。
- 你也可以使用命令行工具
-
更新或替换第三方库:
- 如果问题是由第三方库引起的,联系库的供应商获取更新版本,或者寻找不包含Bitcode的替代库。
-
使用CocoaPods的post_install钩子:
- 如果你使用CocoaPods管理依赖,可以在Podfile中添加一个post_install钩子来自动剥离所有frameworks中的Bitcode。例如:
ruby
这段代码会在pod安装后自动运行,剥离指定frameworks中的Bitcode。post_install do |installer| bitcode_strip_path = `xcrun --find bitcode_strip`.chop! def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) framework_path = File.join(Dir.pwd, framework_relative_path) command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}" puts "Stripping bitcode: #{command}" system(command) end # 列出需要剥离Bitcode的frameworks路径 framework_paths = [ "Pods/LibraryA/LibraryA/dynamic/LibraryA.xcframework/ios-arm64_armv7/LibraryA.framework/LibraryA", "Pods/LibraryB/LibraryB.xcframework/ios-arm64_armv7/LibraryB.framework/LibraryB" ] framework_paths.each do |framework_relative_path| strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path) end end
- 如果你使用CocoaPods管理依赖,可以在Podfile中添加一个post_install钩子来自动剥离所有frameworks中的Bitcode。例如:
请根据你的具体情况选择合适的方法来移除framework中的Bitcode。如果你使用的是Xcode 16,请注意Bitcode已经不再被支持,因此重新编译或更新你的frameworks可能是必要的
更多推荐



所有评论(0)