工程加载bundle资源问题

  • 一般工程在运行时会将图片、音频等资源全部默认添加到main bundle里加载,bundle里的资源不会参加编译的过程。

  • 新建的文件添加.bundle的后缀名会生成一个bundle文件的捆绑包

  • 自定义的bundle资源包里的资源文件在被用到时,需要先找到main bundle的路径下,再进一步去加载自定义bundle里的文件

  • 获取自定义bundle资源的几种方法:

// 方法1
UIImage *image = [UIImage imageNamed:@"MyTest.bundle/Test"];
    
// 方法2
NSString *file1 = [[NSBundle mainBundle] pathForResource:@"MyTest.bundle/Test" ofType:@"png"];
UIImage *image1 = [UIImage imageWithContentsOfFile:file1];
    
// 方法3
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyTest" ofType:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:path];
NSString *file2 = [bundle pathForResource:@"Test" ofType:@"png"];
UIImage *image2 = [UIImage imageWithContentsOfFile:file2];

你可能感兴趣的:(工程加载bundle资源问题)