美文网首页
iOS Bundle的生成与使用

iOS Bundle的生成与使用

作者: 追风者366 | 来源:发表于2021-10-12 16:08 被阅读0次

什么是Bundle文件?

简单理解,就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件。方便在其他项目中引用包内的资源。

Bundle文件的特点?

Bundle是静态的,也就是说,我们包含到包中的资源文件作为一个资源包是不参加项目编译的。也就意味着,bundle包中不能包含可执行的文件。它仅仅是作为资源,被解析成为特定的2进制数据。

制作Bundle

1.新建一个工程macOS的Bundle项目

2.命名

3.删除文件夹和info.plist文件

4.删除Build Settings里的Packaging的info.plist的文件地址

5.设置Base SDK为iOS

6.添加要打包的资源文件进到文件夹

7.我添加了一张图片

8.编译,然后找到下图的按钮打开文件夹

9.找到Bundle文件,右键显示包内容,查看是否将资源文件加入其中

10.检查无误之后,将Bundle拷贝到iOS项目中

11.开始使用

这是一种方法,还有其他方法。

NSString* bundlePath = [[NSBundlemainBundle]pathForResource: @"MyBundle"ofType:@"bundle"];

NSBundle*resourceBundle = [NSBundlebundleWithPath:bundlePath];

UIViewController*vc = [[UIViewControlleralloc]initWithNibName:@"vc_name"bundle:resourceBundle];

或者

UIImageView*imgView=[[UIImageViewalloc]initWithFrame:CGRectMake(50,50,50,50)];

NSString*imgPath= [bundlePathstringByAppendingPathComponent:@"img_collect_success.png"];

UIImage*image_1=[UIImageimageWithContentsOfFile:imgPath];

[imgViewsetImage:image_1];

或者预编译

#define MYBUNDLE_NAME @"MyBundle.bundle"

#define MYBUNDLE_PATH [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: MYBUNDLE_NAME]

#define MYBUNDLE [NSBundle bundleWithPath: MYBUNDLE_PATH]

相关文章

网友评论

      本文标题:iOS Bundle的生成与使用

      本文链接:https://www.haomeiwen.com/subject/lvykbftx.html