iOS创建Framework
来源:互联网 发布:曹琴默 知乎 编辑:程序博客网 时间:2024/06/05 03:42
iOS开发中,有时候需要将一些工具包装起来,做成sdk提供给客户使用,制作过程可以分为两种。一种是制作静态库.a文件,一种是制作成framework文件。前者操作起来简单,但是提供给客户时比较麻烦,需要提供头文件。后者使用简便,可以直接导入,但是制作较为麻烦。
苹果在iOS8之前都不支持动态库framework方法,所以这里说的framework实质上都是静态库文件。
这篇文章主要记录创建framework的方法。创建framework也有两种方法,一种是Xcode6之前的制作方法,一种是Xcode6之后的制作方法。这篇博客先讲解最新版本Xcode7制作framework的方法。
Xcode6就已经提供了动态库的制作方法。这里还是以Xcode7为例,两者的操作步骤是相同的。新建一个Project,选择Application-Single View Application。
其次,为此项目添加一个targets,,选择iOS下的Framework & Library选项:
创建之后,选择你创建的Targets,在BuildSetting中搜索Mach-O,将之设置为Static Library:
修改相关配置:
制作通用framework,使真机和模拟器都可使用:
在RunScript添加如下代码:
# Sets the target folders and the final framework product.# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME# 例如: FMK_NAME = "MyFramework"FMK_NAME="此处填写framework名称"# Install dir will be the final output to the framework.# The following line create it in the root folder of the current project.INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework# Working dir will be deleted after the framework creation.WRK_DIR=buildDEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.frameworkSIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework# -configuration ${CONFIGURATION}# Clean and Building both architectures.xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean buildxcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build# Cleaning the oldest.if [ -d "${INSTALL_DIR}" ]thenrm -rf "${INSTALL_DIR}"fimkdir -p "${INSTALL_DIR}"cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"rm -r "${WRK_DIR}"open "${INSTALL_DIR}"
设置开放的头文件: Framework中有些类可能是一些私有的辅助工具,不需要使用者看到,在这里只需要把开放出去的类放到Public下:
选中新建的Target,Run, 如果没有异常的话,会自动弹出生成的Framework文件:
如果您进行到最后一步,恭喜成功得到了想要的framework文件了!
最后,打开Mac的终端,验证下生成的framework都支持哪些设备吧:
- ios创建framework
- ios-创建Framework
- iOS创建Framework
- iOS创建framework
- iOS创建framework
- iOS创建framework入门
- iOS Framework的创建
- iOS 创建Framework
- 创建iOS动态库/Framework
- iOS创建Framework(下)
- 创建和发布iOS framework
- iOS XMPP Framework 03 - 创建应用程序框架
- ios开发-- xcode6创建静态库framework
- IOS:导入自己创建的framework出错
- iOS简单创建一个Framework文件
- iOS创建framework,并使用cocoapods管理
- iOS——创建你自己的Framework
- iOS基础 - 创建framework静态库
- Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例
- UIWebView 加载网页数据(网页,网页片段,本地文件)
- POJ 1061-青蛙的约会(拓展欧几里得)
- C++智能指针与返回局部指针测试
- java基础知识点总结(三)
- iOS创建Framework
- linux——单网卡配置双(多)ip
- springMVC4(5)RestTemplate控制层单元测试
- [从头学数学] 第157节 概率初步 小结与复习题
- 超简单小算法求圆面积(测多组数据及小用一下正则表达式)(入门)
- ZOJ 1151 Word Reversal
- Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇
- 多项式加法运算
- 考驾照 报名 科目一 科目二 科目三 科目四 视频