Xcode8 制作.a静态库和存放xib和图片的.bundle

来源:互联网 发布:php判断是否点击submit 编辑:程序博客网 时间:2024/05/23 02:02

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文件都创建完毕啦





0 0
原创粉丝点击