封装.a/Framework(动态,静态)/bundle

2016-08-24  本文已影响180人  机器猫的百宝袋

一、a库封装

1.1 创建工程

创建a库工程.png

1.2添加需要封装的代码文件

添加需要封装的代码文件.png

1.3 添加对外开放的头文件
选中Targets-Build phases-Copy Files

添加对外开发的头文件.png 选择对外头文件.png
1.5 编译:
通过simulator编译,a库只能在simulator运行。通过真机编译,a库只能在真机运行。
查看库所支持的架构:lipo -info 库的绝对路径

1.6 注意事项

二、Framework(动态,静态)封装

1.创建Framework工程

创建Framework工程.png
2.添加封装代码文件
添加需要封装的代码文件.png
3.头文件归类
将对外开放的头文件导入与库名称相同的头文件中,此文件作为公共的头文件,使用者只需要将此头文件导入即可使用,无需导入多个,下图的头文件为:DynamicWebFramework.h
头文件归类.png

4.编译
编译原理与a库编译原理相同,但shell脚本有很多种写法,具体可以查询学习一下,在此不再详解,因为我还没搞懂啊~~
5.注意事项

6.对于三方库的处理
不建议将三方库封装进自己的库中,(貌似你也封装不进去~~)

6.1 正常导入三方已封装的库
6.2 封装代码中正常导入头文件,调用三方库相关方法
6.3 配置search path

配置search path.png

6.4 删除三方库封装工程的关联,切记:物理地址中的三方库不要delete,否则会出人命的

7.Framework的使用
获取Framework 库中的资源文件:

iOS 8+:获取图片
[UIImage imageNamed:@"imageView" inBundle:[NSBundle bundleForClass:self.class]compatibleWithTraitCollection:nil];

获取XIB文件
//这个Class对应你工程所在的类名
[[NSBundle bundleForClass:self.class] loadNibNamed:@"ColorView" owner:self options:nil];
//这个对应你的FrameWork的Bundle Identifier
[[NSBundle bundleWithIdentifier:@"com.xxx.xx"] loadNibNamed:@"ColorView" owner:self options:nil];

三、bundle(资源包)封装

1.创建bundle工程

创建bundle工程.png

2.导入资源文件

导入资源文件.png

未完待续。。。

上一篇 下一篇

猜你喜欢

热点阅读