iOS静态库开发中对Bitcode的支持
2016-07-06 10:59
453 查看
1.bitcode
bitcode是LLVM编译器将C/C++/OC/Swift等前端变成语言编译成多种不同芯片上的机器指令过程中的中间代码。并且这个中间代码是CPU无关的。
原本我们的APP里要包含多种支持CPU架构的代码。支持Bitcode的优势就是在提交store后,苹果再动态生成相应CPU的APP版本,这样每个版本的APP就相对小了很多。
相关bitcode的详细介绍参看这篇文章:http://www.jianshu.com/p/f42a33f5eb61
2.SDK开发中bitcode的支持:
(1)通过在build setting中对OTHER_CFLAGS字段的release时添加-fembed-bitcode
(2)新建target,新建Aggregate,添加编译规则如下:
同时也这是将SDK中模拟器和真机编译后的SDK包合并的方法。
在真机编译时加上 OTHER_CFLAGS="-fembed-bitcode" ,就能支持bitcode了。
bitcode是LLVM编译器将C/C++/OC/Swift等前端变成语言编译成多种不同芯片上的机器指令过程中的中间代码。并且这个中间代码是CPU无关的。
原本我们的APP里要包含多种支持CPU架构的代码。支持Bitcode的优势就是在提交store后,苹果再动态生成相应CPU的APP版本,这样每个版本的APP就相对小了很多。
相关bitcode的详细介绍参看这篇文章:http://www.jianshu.com/p/f42a33f5eb61
2.SDK开发中bitcode的支持:
(1)通过在build setting中对OTHER_CFLAGS字段的release时添加-fembed-bitcode
(2)新建target,新建Aggregate,添加编译规则如下:
# define output folder environment variable UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal # Step 1. Build Device and Simulator versions xcodebuild -target TARGETNAME ONLY_ACTIVE_ARCH=NO -configuration Release -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" xcodebuild -target TARGETNAME -configuration Release -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" # make sure the output directory exists mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" # Step 2. Create universal binary file using lipo lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" # Last touch. copy the header files. Just for convenience cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
同时也这是将SDK中模拟器和真机编译后的SDK包合并的方法。
在真机编译时加上 OTHER_CFLAGS="-fembed-bitcode" ,就能支持bitcode了。
相关文章推荐
- IOS代码笔记之仿电子书书架效果
- iOS AVCaptureDevice 图像90度问题
- iOS Runtime 实践(1)
- IOS如何替换电话号码中间4位为"-"符号
- IOS 缓存清理
- iOS 使用命令行打包程序
- Android,IOS QQ在线客服代码
- iOS-模糊查询
- iOS开发之17个常用代码整理
- IOS代码笔记之勾选"记住密码"整体button
- iOS Socket介绍及其简单应用
- 解析 iOS 动画原理与实现
- IOS:pch的一些用法
- IOS代码笔记之文字走马灯效果
- iOS中集成ijkplayer视频直播框架
- IOS代码笔记之左右滑动效果
- mark下automaticallyAdjustsScrollViewInsets
- IOS代码笔记之下拉选项cell
- iOS的CoreAnimation开发框架中的Layer层动画制作解析
- IOS日志打印