iOS-Objective C动态框架为arch x86_64(模拟器)发出位代码

时间:2018-11-27 11:23:05

标签: ios xcode9 bitcode dynamic-frameworks

已经在Github上设置了示例,我正在使用Xcode v 9.4.1 https://github.com/iousin/TreeFramework

基本上,我正在尝试构建框架以在x86_64模拟器构建中包含位码。我尝试了各种设置,并尝试在命令行上进行构建,但xcodebuild拒绝在我的模拟器构建中包含位代码,但是很高兴将其包含在arm64(设备)构建中。

以下所有命令都应能够从检出上述框架的同一文件夹中运行。

以下是我尝试构建上述框架的命令:

    xcodebuild ENABLE_BITCODE[sdk=iphone*]=YES BITCODE_GENERATION_MODE=bitcode DYLIB_COMPATIBILITY_VERSION=1 -sdk iphonesimulator -configuration Release -target TreeFramework clean build

    xcodebuild OTHER_CFLAGS="-fembed-bitcode" ENABLE_BITCODE[sdk=iphone*]=YES BITCODE_GENERATION_MODE=bitcode -sdk iphonesimulator -configuration Release -target TreeFramework clean build

    xcodebuild OTHER_CFLAGS="-fembed-bitcode" ENABLE_BITCODE="YES" BITCODE_GENERATION_MODE="bitcode" -sdk iphonesimulator -configuration Release -target TreeFramework clean build

运行以下命令以验证是否发出了位码(在这种情况下不这样做)。

    otool -arch x86_64 -l build/Release-iphonesimulator/TreeFramework.framework/TreeFramework | grep LLVM

但是,当我为设备构建时,会包含位码。

    xcodebuild -sdk iphoneos -configuration Release -target TreeFramework clean build

验证是否发射了位代码:

    otool -arch arm64 -l build/Release-iphoneos/TreeFramework.framework/TreeFramework | grep LLVM

感谢任何帮助。

0 个答案:

没有答案