ios创建.bundle文件

作者: Moker_C | 来源:发表于2018-06-06 18:39 被阅读2次

    Bundle文件可以理解为一个资源包,用于存储图片、音频、文本、nib文件等,方便在其他项目中引用包内的资源。bundle包是静态的,不参与编译,也就意味着,bundle 包中不能包含可执行的文件。它仅仅是作为资源,被解析成为特定的 2 进制数据。

    一、创建方式

    1、简单创建:创建一个文件, 将该文件重命名成后缀为.bundle的文件

    2、通过X-Code创建

    新建一个工程:


    屏幕快照 2018-06-06 下午6.26.44.png
    屏幕快照 2018-06-06 下午6.28.35.png
    屏幕快照 2018-06-06 下午6.33.30.png
    屏幕快照 2018-06-06 下午6.35.39.png

    添加资源到工程:


    屏幕快照 2018-06-07 上午9.36.34.png

    此时可以看到.bundle文件是红色的,接下来分别选一个模拟器和Generic iOS Device编译一下,分别代表真机和模拟器


    屏幕快照 2018-06-07 上午9.38.55.png
    运行过后.bundle文件变成了黑色,选中该文件show in Finder
    屏幕快照 2018-06-07 上午9.42.32.png

    里面有相对应的真机和模拟器的生成的.bundle文件


    屏幕快照 2018-06-07 上午9.43.06.png

    Bundle文件的使用:
    直接在这个工程中,创建一个App项目。然后把这个Bundle资源包添加(直接拖也OK)进去调用即可


    屏幕快照 2018-06-07 上午10.57.30.png
    屏幕快照 2018-06-07 上午11.01.17.png
    屏幕快照 2018-06-07 上午11.03.09.png

    //如果不像上面这样,直接新建一个工程将bundle包直接拖到新工程中使用也是OK的

    具体访问文件方法:(以图片为例)

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 100, 100)];
        //获取bundle路径的两种方式
        NSString *path = [[NSBundle mainBundle] pathForResource:@"MyDemo" ofType:@"bundle"];
    //    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyDemo"];
        NSBundle *bundle = [NSBundle bundleWithPath:path];
        //获取image的两种方式
        imageView.image = [UIImage imageNamed:@"emojy" inBundle:bundle compatibleWithTraitCollection:nil];
    //    imageView.image = [UIImage imageNamed:@"MyDemo.bundle/emojy"];
        [self.view addSubview:imageView];
    

    如果有nib文件:

    NSString *path = [[NSBundle mainBundle] pathForResource:@"MyDemo" ofType:@"bundle"];
        //    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyDemo"];
        NSBundle *bundle = [NSBundle bundleWithPath:path];
        UINib *nib = [UINib nibWithNibName:NSStringFromClass([@"YourClassName" class]) bundle:bundle];
    

    相关文章

      网友评论

        本文标题:ios创建.bundle文件

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