您的位置:首页 > 移动开发 > IOS开发

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

2017-02-06 15:23 316 查看


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文件都创建完毕啦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios
相关文章推荐