iOS_语言其他iOS高级应用iOS Developer

温故而知新--Apple CPU 处理器指令

2016-11-11  本文已影响156人  纸简书生

基本概念

iPhone移动设备默认指令集

这里有一张更全面的图例(由于图片比较大,建议下载到本地查看):


ARM需要注意点

Xcode中的设置

通过设置Build Settings下的Architectures选项设置相关指令达到控制Xcode生成二进制包的指令集。

shell脚本

大家平时做动态库的时候估计都是打完各个架构的包以后然后合成。这里分享一个通用的脚本。以后只需要

就可以了。

#change your project name here
project_name="你的项目名称"
#archs,include iphone (armv7, arm64) and iphone simulator (i386, x86_64)
archs="armv7 armv7s arm64"#选择你需要支持的脚骨
for arch in $archs
do
   echo "building $arch..."
   if [ "$arch" = "i386" -o "$arch" = "x86_64" ]
   then
   xcrun_sdk="iphonesimulator"
   export cflags_config="-fembed-bitcode-marker"
   else
   xcrun_sdk="iphoneos"
   export cflags_config="-fembed-bitcode -Qunused-arguments"
   fi
   xcodebuild clean build ARCHS=$arch -sdk $xcrun_sdk TARGET_BUILD_DIR="./build-$arch" BUILT_PRODUCTS_DIR="./build-$arch" OTHER_CFLAGS="$OTHER_CFLAGS $cflags_config"
done
cp -rf ./build-arm64/$project_name.framework $project_name.framework
echo "generate product..."
lipo -create `find ./build-* -name $project_name` -output $project_name.framework/$project_name
echo "clean cache..."
rm -rf ./build ./build-*
echo "done!"

参考

Arhitectures 和 Valid Architectures的不同

上一篇 下一篇

猜你喜欢

热点阅读