专栏名称: LuisX
目录
相关文章推荐
开发者全社区  ·  北京86年大叔自救式征婚相亲 ·  21 小时前  
开发者全社区  ·  AI提升成人玩具用户体验 ·  昨天  
开发者全社区  ·  离谱瓜!约会8个女同事的大厂男 ·  昨天  
开发者全社区  ·  UCL色魔博士被抓 ·  2 天前  
开发者全社区  ·  上海某国企裁员10% ·  2 天前  
51好读  ›  专栏  ›  LuisX

iOS制作framework

LuisX  · 简书  ·  · 2017-09-25 17:47

正文

framework
framework

一、打开Xcode创建工程,选中CocoaTouchFramework

首先新建一个项目,选择Cocoa Touch Framework


给它取一个响亮又文雅的名字



二、在TARGETS下,选中BuildSettings

1、搜索linking项,修改如下
项目 设置 说明
Dead Code Stripping NO 关闭对代码中“dead”,“unreachable”代码过滤
Link With Standard Libraries NO 避免重复链接
Mach-O Type Static Library 用户制作的只能是静态库(系统的framework可以是动态库)

2、搜索architectures项,修改如下

针对一些特殊机型的支持,添加armv7s架构。(增加对使用该架构的支持)


项目 设置 说明
Build Active Architecture Only NO 编译所有的版本(反之, 只编译当前的architecture版本)


三、在TARGETS下,选中BuildPhases

1、搜索header项,修改如下

新建MCDefine文件,将公开的头文件拖入Public中,私有的放入Private或Project中,隐藏的头文件就无法再被引用。



四、MagicCubeKit.h导入头文件

在MagicCubeKit.h中将你所有要公开的头文件引入。(MagicCubeKit.h必须为公开的,否则无法引用)

MagicCubeKit.h文件中
#import <UIKit/UIKit.h>

//! Project version number for MagicCubeKit.
FOUNDATION_EXPORT double MagicCubeKitVersionNumber;

//! Project version string for MagicCubeKit.
FOUNDATION_EXPORT const unsigned char MagicCubeKitVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <MagicCubeKit/PublicHeader.h>

/*
 * 导入公开的头文件,供他人使用
 */
#import <MagicCubeKit/MCDefine.h>

五、打包framework

1、选中Generic iOS Device,然后Command+B编译framework

2、选中任意模拟器,然后Command+B编译frameWork

3、选中Products文件夹中MagicCubeKit.framework,然后Show in Finder

4、可以在Finder中看到Products下的两个文件夹
名称 说明
Debug-iphoneos 真机编译生成
Debug-iphoneosimulator 模拟器编译生成

5、将两个framework中的MagicCubeKit文件合成

5.1、真机编译framework


5.2、模拟器编译framework







请到「今天看啥」查看全文


推荐文章
开发者全社区  ·  北京86年大叔自救式征婚相亲
21 小时前
开发者全社区  ·  AI提升成人玩具用户体验
昨天
开发者全社区  ·  离谱瓜!约会8个女同事的大厂男
昨天
开发者全社区  ·  UCL色魔博士被抓
2 天前
开发者全社区  ·  上海某国企裁员10%
2 天前
美国高中留学  ·  盘点被USNews排名严重低估的50所美国大学
8 年前
伪砖家说经济和投资  ·  这下,炒房客要被弄哭了!
7 年前