序言:为了把图片文件、xib文件、文本文档跟源码放在一起给别人使用,我们可以把这些资源文件打包成bundle文件。以下简述以下打包过程和使用方法:
打包方法
- 选择新建一个工程,target选择macOS下的Framework&Library中的bundle。
1.png
- 在buildSetting中设置Base SDK为iOS SDKs(因为我们要的bundle包是给iOS用的);
2.png
- 这个时候就可以调整deployment target了
3.png
- Skip Install 设置为NO,不安装,仅仅编译
4.png
- Installation Directory删除路径,把安装路径删除
5.png
- COMBINE_HIDPI_IMAGES 设置为NO。默认YES的话,打包出来时用了@2x 、@3x的图片会自动转换成tiff格式的图片。
6.png
- Strp Debug Symbols During Copy设置为YES
7.png
- 把需要打包的图片或者布局文件xib/nib拖到工程目录对应的文件夹中,或者通过Build Phases中Copy Bundle Resource导入。
8.png
- 导入完资源文件后,就可以开始编译了,选择真机(Generic iOS Device)编译一遍,然后show in finder找到对应的bundle文件。这个bundle文件就是我们今天的输出文件。
9.png
10.png
使用方法
- 导入需要使用的项目文件后,我们就可以使用里面的资源文件,或者把bundle包跟库一起提供给使用者了。
基本的使用代码简述如下:
//获取资源bundle的路径及bundle实例
NSURL *bundleUrl = [[NSBundle mainBundle]URLForResource:@"BundleDemo" withExtension:@"bundle"];
NSBundle *myBundle = [NSBundle bundleWithURL:bundleUrl];
//加载bundle中的xib文件
MyViewController *player = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:myBundle];
//加载bundle中图片
UIImage *image = [UIImage imageNamed:@"BundleDemo.bundle/Controls_Skip"];