iOS开发之——制作framework静态库教程
环境:
硬件:macbook air
系统:OSX EI Capitan 版本:10.11.3
xcode : Version 7.2.1 (7C1002)
最近在做ios的静态库(据说framework动态库不能上传到app store).a 和framework都做过了,这里就先说framework的制作流程:
1.首先在xcode下新建cocoa touch framework工程:

2.新建好工程后,往里面添加要封装的代码,并且把包含公有api的头包含到自动生成的头文件里面
或者到Build Phases下Headers里面把公有头文件放到public下
3.在Build Setting——>Linking找到Mach-O Type 把值:Dynamic Library改为:Static Library,缺少这一步生成的framework就是动态库
4.找到Edit scheme在run——>info下把build configure的值由默认值Debug 改为Release

5.选择要编译的硬件环境:分别在Generic IOS Device和 iPhone 6s Plus(选择最新的模拟器)下编译一次,编译完后就可以看到工程的products文件下的xxx.framework由红色变成黑色(注意:如果只编译了iphone 6s Plus模拟器,没有编译 Generic IOS Device ,那么xxx.framework还是不会变成黑色)

6.xxx.framework 变成黑色后,选中xxx.framework右键show in finder 就可以看到生成的framework静态库。分别有Release-iphoneos真机版和Release-iphonesimulator模拟器版,也就是说生成的版本只能分别在各自的硬件环境下使用。
7.合并真机和模拟器版framework静态库,这样就可以在模拟器和真机下使用了,不过要注意生成的静态库的大小等于真机版和模拟器版的大小的和,所以要对程序进行缩小时,可以只用其中一个版本
使用xcode自带的lipo可以合并两个版本:在终端下使用命令:lipo -create /User/...../release-iphoneos/xxx.framework/xxx /User/...../release-iphonesimular/xxx.framework/xxx -output ./xxx
其中xxx为你的库的名称,路径为生成的静态库的路径,然后把生成的xxx放到真机或者模拟器版的xxx.framework里面替换里面原有的xxx库
iOS开发之——制作framework静态库教程的更多相关文章
- iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用
iOS 中 .a 和 .framework 静态库的创建与 .bundle 资源包的使用 前言 开发中经常使用三方库去实现某特定功能,而这些三方库通常又分为开源库和闭源库.开源库可以直接拿到源码,和自 ...
- iOS SDK开发之 .framework静态库
查看.a静态库的生成及使用单击此处 注:这篇教程将只使用一小部分Objective-C代码,本文主要讲解从开始到应用的详细步骤.环境:xcode 9.2下面我们开始操作: 第一步:创建一个静态库工程 ...
- 制作framework&静态库
http://blog.csdn.net/justinjing0612/article/details/7880712 (制作framework) http://blog.sina.com.c ...
- iOS开发--CornerStone上传静态库(.a文件)
首先打开软件左上角 CornerStone-Preferences-SubVersion 第一个地方把对号去掉,第二个地方把.a那个删除,然后save. 然后把你的.a文件放到本地的相应文件夹下, 但 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a以及 FrameWork 的创建
armv7,armv7s,arm64,i386,x86_64 详解 一.概要 平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如: 在真机上编译报错 ...
- iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a
一.概要 平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如: 在真机上编译报错:No architectures to compile for ( ...
- Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。
http://www.cocoachina.com/bbs/read.php?tid-282490.html Xcode6.1标准Framework静态库制作方法.工程转Framework,静态库加x ...
- iOS:Xcode7下创建 .a静态库 和 .framework静态库
Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...
随机推荐
- vim编辑器,管道,输入输出重定向
1.vim的认识及其一些常用指令 a, 认识vim的命令行模式和插入模式: 当vim运行后默认进入该模式,他可以控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或 ...
- php中的字符串常用函数(一) strpos() 子字符首次出现的位置
strpos($str, $needle); 1.返回$needle在$str首次出现的位置.(大小写敏感). 2.从php5开始$needle支持多字符.php4只能用单个字符. 3.能找到$nee ...
- ahjesus 安装mongodb企业版for ubuntu
导入共匙 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 创建源列表 echo 'deb http ...
- 解决客户 IE 浏览器"兼容性视图"设置带来的问题
最近在给客户开发一个 ASP.NET web 报表时,发现客户的 IE8 浏览器上,看网页总是怪怪的. 调查后发现,客户的 IE8 浏览器,统一被设置成"对本地网络使用兼容性视图" ...
- ubuntu vps 安装java
Introduction Java is a programming technology originally developed by Sun Microsystems and later acq ...
- mybatis hellworld
用maven来进行搭建项目的~~ 1. 搭建环境 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- ADODB.Connection 错误 ‘800a0e7a’ 未找到提供程序
问题表现:做网站ASP页面提示:ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. 解决方案:一般都是64位系统的原因,把IIS切换为32Bit模式运 ...
- 淡扯javascript编程思想
一.面向对象-OOD 虽然js面向对象的编程思想已经老话常谈了,但了为了文章的完整性,我还是把它加了进来,尽量以不太一样的方式讲述(虽然也没什么卵不一样的). 1.面向对象,首先得有类的概念,没有 ...
- GP的使用心得
在ArcEngine时,GP无疑是GIS开发者的神器.自ArcEngine9.2开始新增一个程序集ESRI.ArcGIS.Geoprocessor,它能调用包含扩展模块在内的所有Geoprocessi ...
- Android studio 启动时出现Android studio was unable to create a local connection in order
在进入后adb无法连接,并且报错 Internal HTTP server disabled: Cannot start internal HTTP server. Git …… 各种百度没有答案,最 ...