framework新建与使用
来源:互联网 发布:自动识别字体软件 编辑:程序博客网 时间:2024/06/06 03:38
本文主要是根据自己的实践,对网上资料进行整理
参考文章:
1、http://www.j
2、http://www.t
3、http://blog.
以下过程请根据实际情况进行修改
1、framework新建
我们将自己自定义的一个控件制作成framwork供别人使用为例,来展示framework的制作过程。
打开Xcode创建一个framework工程。
修改一些配置信息,生成支持所有架构的版本。
将之前写好的控件源文件拖进工程,并做一些配置,主要是配置一下那些文件要暴露给别人使用,一般头文件需要暴露,实现文件不需要。
最后一个设定步骤,是要加入一段Run Script,用来将「仿真器版本Framework」、「实机版本Framework」,整合输出为单一Framework。
参考数据
用lipo合并模拟器Framework与真机Framework - IOS开发学习博客
Run Script
if["${ACTION}"="build"]thenINSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.frameworkDEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.frameworkSIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.frameworkif[-d"${INSTALL_DIR}"]thenrm -rf"${INSTALL_DIR}"fimkdir -p"${INSTALL_DIR}"cp -R"${DEVICE_DIR}/""${INSTALL_DIR}/"#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"lipo -create"${DEVICE_DIR}/${PROJECT_NAME}""${SIMULATOR_DIR}/${PROJECT_NAME}"-output"${INSTALL_DIR}/${PROJECT_NAME}"#open "${DEVICE_DIR}"open"${SRCROOT}/Products"fi
Setting
完成设定步骤后,分别Build两个不同版本的Framework:仿真器版本、实机版本。接着,设定在建置作业中的Run Script,就会将两个版本的Framework,整合输出为单一的MyFramework.framework
仿真器版本 command+B
实机版本 command+B
经过上面2次编译,自动产出合并版本的MyFramework.framework ,在终端打开该目录,通过 lipo -info MyFramework.framework/MyFramework ,查看支持的版本信息。
使用
接着开启XCode来建立一个新项目:「MyAPP」,专案类型选择为Single View Application。这个项目用来说明,如何使用封装为Framework的程序代码。
专案类型
接着将Framework复制一份,放到MyAPP的专案文件夹内。XCode编译的时候,会去这个路径底下找寻Framework。其实放项目任意文件夹即可,可以通过add other加入或设置framework搜索路径。
Framework档案路径
回到XCode的项目属性页面,把Framework的参考加入到项目里。
加入参考
接着在项目预设的ViewController.m文件里面,加入下列程序来使用Framework里面所封装的程序代码。加入Framework参考#import <myframework/myframework.h>
到此基本结束。
后记:
XCode编译的时候,会去特定路径底下搜寻Framework来加入编译。如果需要增加或修改参考路径,可以透过调整Build Setting里的Framework Search Paths参数来变更。
Framework Search Paths
ios开发中报错处理--include of non-modular header inside XXXX
解决方案:在使用framework工程中设置
1.把target 下Build Settings 中Allow Non-modular includes in Framework Modules 选项卡设为yes。
- framework新建与使用
- Xcode使用Cocoa Touch Framework新建Framework
- Yii Framework的获取与项目的新建
- Play Framework 2.5 环境搭建与新建项目(一)
- Play Framework 2.5 环境搭建与新建项目(二)
- Django Rest Framework - 安装,配置 与 新建 Serialization
- Android framework新建
- Metasploit Framework 简介与使用
- Cocoa创建与使用Framework
- Cocoapods与Framework的使用
- [iOS] 建立与使用Framework
- Entity Framework安装与使用
- iOS--Bundle的新建与使用
- 在maven中新建hadoop项目说明与mapreduce.framework.name的initialize异常
- Zend Framework(二) model与view使用
- Entity Framework创建与使用(图)
- ASM Bytecode Framework探索与使用
- git 使用详解(9)-- 分支的新建与合并
- UE常用正则表达式
- 《Effective Modern C++》读书笔记(5) -- 尽量使用nullptr而不使用0和NULL
- TCP/IP、Http的区别
- 论文阅读,GAN 生成对抗网络 2014 Goodfellow原文阅读笔记
- window下安装redis
- framework新建与使用
- BZOJ 4667 小y的密码
- asp.net(C#)之NPOI"操作Excel
- 【0028】DearmWeaver CC 2017安装破解教程
- DB2的export,import,load
- 如何实现多个线程同步 (2013-11-10 12:07:24)转载▼ 标签: it 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题,Java实现线程同步的方法很多
- Java时间处理(UTC时间和本地时间转换)
- 【bzoj1096】[ZJOI2007]仓库建设
- java删除文件,重命名文件