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

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值