Framwork

一、打包

1、framework结构调整

建议删除自动生成的头文件,以及生成的framework名称+Testsframework名称文件夹下的.m和.h

2、设置静态库

build setting->All->Mach-o Type选择Static Library

Framwork_第1张图片
Snip20170615_1.png

如果不处理会报错not find Image

3、暴露公共头文件
Framwork_第2张图片
Snip20170615_2.png
4、生成Framework

编译真机Framework: 选择真机 command + B
编译模拟器Framework: 选择任意模拟器 command + B

5、合并真机和模拟器Framework

lipo -create 真机Framework镜像路径 模拟器Framework镜像路径 -output 合并后的Framework路径

注:这里的路径都是包含镜像名称的

二、集成Framework

1、集成

将生成的Framework添加到工程(拖入或者Add)
General->Embeded Binaries-> + 生成的Framework
Build Phases->Copy Bundle Resources-> + 生成的Framework

2、基本使用
#import 
import  Framework名称
3、xib使用(Bundle)
NSBundle *adhomeBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"ADHome.framework" ofType:nil]];
    
ADViewController *vc = [[ADViewController alloc] initWithNibName:@"ADViewController" bundle:adhomeBundle];
    
[self.navigationController pushViewController:vc animated:YES];

三、问题(iOS10)

1、load
/* Methods for loading and unloading bundles. */
- (BOOL)load;
@property (readonly, getter=isLoaded) BOOL loaded;
- (BOOL)unload;

//始终not yet load
[bundle load];//始终返回为false

你可能感兴趣的:(Framwork)