1、创建MyLibrary静态库
如图:选择Cocoa Touch Static Library 点击下一步,然后起工程的名字就叫:MyLibrary
选择库类型
创建完毕的的样子就是下图:
项目创建完成图
为了使库的头文件被外面的项目工程找到并调用,需要我们将需要暴露的文件写在特定的目录里。添加方法如下图
创建Header Phase
创建完毕
这个时候就看到public 里面就是暴露在外面的文件啦,把需要暴露在外面的.h文件直接拖进去就可以啦,例如:
拖到暴露的文件下
拖完后,库基本就算是写完啦,这里我们可以在MyLibrary类里添加一个方法测试一下,下面是我写的一个Log方法
##MyLibrary.h
@interface MyLibrary :NSObject
+ (void)logMyLibary;
@end
##MyLibrary.m
@implementation MyLibrary
+(void)logMyLibary {
NSLog(@"输出我的Library啦");
}
@end
然后直接Command+B 运行一下,Products的libMyLibrary.a就有,右击Show in Finder 就会发现文件啦
包装MyLibrary
2、测试静态库
创建一个新的项目,加入上面我们创建的库:MyLibrary文件夹
测试结果
3、.bundle的创建
1、首先在MyLbrary中添加bundle,名称为:LibraryResources
添加bundle
2、因为bundle默认是OS系统的,所有需要修改他的信息。如图,修改成iOS系统
修改成iOS系统
3、设置Build Setting中的COMBINE_HIDPI_IMAGES 为NO,否则bundle中的图片就是tiff格式了
设置图片加载
4、创建一个测试类:MyViewController ,创建的时候记得带上xib,创建完毕后,把MyViewController.xib拖到LibraryResources项目下,结果如下图
创建完成
5、再向里面添加随便一个图片,在Xib上创建一个button,设置他的image为这个图片,如下如
设置xib
6、然后修改MyLibrary类,如下
#import <Foundation/Foundation.h>
#import "MyViewController.h"
@interface MyLibrary : NSObject
+ (void)logMyLibrary;
+ (MyViewController *)creatMyViewController;
@end
#import "MyLibrary.h"
@implementation MyLibrary
+ (void)logMyLibrary {
NSLog(@"输出我的Library啦");
}
+ (MyViewController *)creatMyViewController {
NSString * rescourcePath = [[NSBundle mainBundle] pathForResource:@"LibraryResources" ofType:@"bundle"];
NSBundle * bundle =[NSBundle bundleWithPath:rescourcePath];
MyViewController * myVC =[[MyViewController alloc]initWithNibName:@"MyViewController" bundle:bundle];
return myVC;
}
@end
并把MyViewController.h文件也暴露出来,不然会报错的
暴露MyViewController
7、接下来分别运行这两个target,然后按照上篇文章一样生成MyLibrary文件
生成库.png
生成MyLibrary.png
8、把MyLibrary 文件拖入测试项目就可以测试啦。
测试结果
至此.a静态库和.bundle文件都创建完毕啦