XCode7:启用了bitcode大小的静态库?

时间:2015-11-02 06:32:14

标签: xcode clang llvm xcode7 bitcode

我从命令行重建了arm64 arch的一些静态库,这是我的iOS应用程序所需的bitcode支持(-fembed-bitcode标志)。以前没有bitcode支持生成的.a文件大约是88 Mb,现在大约是230 Mb。我知道使用bitcode支持构建将__bitcode部分添加到.o文件中,但为什么它会大3倍?我是否需要为armv7构建并使用arm64armv7创建胖库,或者我可以仅使用带有bitcode的新库?

此前:

    MBA-Anton:lib asmirnov$ lipo -info ./libclang-llvm-3.7-arm64-release.a 
input file ./libclang-llvm-3.7-arm64-release.a is not a fat file
Non-fat file: ./libclang-llvm-3.7-arm64-release.a is architecture: arm64

MBA-Anton:lib asmirnov$ ls -l ./libclang-llvm-3.7-arm64-release.a 
-rwxrwxrwx  1 asmirnov  staff  88123960 27 окт 13:06 ./libclang-llvm-3.7-arm64-release.a

现在:

MBA-Anton:lib asmirnov$ lipo -info ./libclang_llvm_3.7_arm64_release_bitcode.a
input file ./libclang_llvm_3.7_arm64_release_bitcode.a is not a fat file
Non-fat file: ./libclang_llvm_3.7_arm64_release_bitcode.a is architecture: arm64

MBA-Anton:lib asmirnov$ ls -l ./libclang_llvm_3.7_arm64_release_bitcode.a 
-rwxrwxrwx  1 asmirnov  staff  230715536  2 ноя 11:27 ./libclang_llvm_3.7_arm64_release_bitcode.a

1 个答案:

答案 0 :(得分:1)

启用bitcode后,预计swift dylibs的大小和你自己的代码在.xcarchive中会大得多(可以多达3倍)。

但是,这个额外的大小不会反映在实际传递给用户的内容中,所以它应该不是问题。

当您将应用程序提交到包含此静态库的应用程序商店时,商店将处理它以删除bitcode,并且IPA的处理版本将是您的用户将下载的内容。