在我们使用第三方框架时,常常看到XXX.bundle的文件。
我们找到该文件,显示包内容,大致看到很多资源文件:图片、配置文本、XIB文件……
什么是Bundle文件?
简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件。方便在其他项目中引用包内的资源。
Bundle文件的特点?
Bundle是静态的,也就是说,我们包含到包中的资源文件作为一个资源包是不参加项目编译的。也就意味着,bundle包中不能包含可执行的文件。它仅仅是作为资源,被解析成为特定的2进制数据。
那么如何使用最简单的方法创建一个自定义 bundle 呢?
1 创建一个文件夹
2 在文件夹中添加图片, 这些图片被当做资源来使用, 不被编译
3 将该文件夹重命名为a.bundle
4 将a.bundle拖入到xcode中即可
建议: 不要使用系统的 bundle 包, 因为资源的删除不是很方便
图片获得bundle中的资源, 其中图片会自动做适配(@2x, @3x)
UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50,50)];
UIImage *image = [UIImage imageNamed:@"MyBundle.bundle/img_collect_success"];
[imgView setImage:image];
eg: 像 SVProgressHUD中的 bundle 包资源, 我们可以吧其中的图片给替换掉, 设置为我们自己想要的图片