Xcode 创建bundle

iOS之Bundle的创建与使用

Bundle其实就是一个文件夹,里面存放资源文件的,我们可以在做项目的时候把一些图片icon、plist文件、数据库(这个需要拷贝到沙盒路径下,比如说一些城市等)等等资源文件专门存放在.bundle的资源文件库中,方便我们整合和替换素材等。
iOS之Bundle的创建有三种方式:

  • 第一种方式:自己新建一个文件夹,将文件夹的后缀改成.bundler,然后将此bundle拖入到工程中,然后往工程中的.bundle底下添加素材即可
  • 第二种方式:在工程中添加Target,此Target为bundle
  • 第三种方式:直接创建一个工程,此工程为bundle

第一种方式

  • 在桌面上创建一个空的文件夹,取名为hehe,然后将hehe的后缀改成.bundle

Xcode 创建bundle

Snip20170522_343.png

Xcode 创建bundle

Snip20170522_344.png

  • 将bundle拖入到工程中:

Xcode 创建bundle

Snip20170912_209.png

Xcode 创建bundle

Snip20170912_210.png

Xcode 创建bundle

Snip20170912_211.png

  • 加载bundle资源
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"hehe" ofType:@"bundle"];

UIImage *iconImage= [UIImage imageWithContentsOfFile:[bundlePath stringByAppendingPathComponent:@"Snip20170522_340.png"]];

第二种方式

PS:注意目前现在这种方式新的Xcode版本下是没有在Xcode工程左侧显示一个目录文件夹,那么我们需要将资源文件放在一个合适的实际目录位置,然后将资源引入到工程中合适位置时,此时会出现一个选项是Add To Targets,选择建好的bundle Target即可。

Xcode 创建bundle

Snip20220914_15.png

  • 先创建一个原生工程

Xcode 创建bundle

Snip20170522_352.png

Xcode 创建bundle

Snip20170522_359.png

Xcode 创建bundle

Snip20170522_361.png

  • 添加Target

Xcode 创建bundle

Snip20170522_363.png

Xcode 创建bundle

Snip20170522_364.png

PS:这里要借助一下Mac OS下的Bundle模板了

Xcode 创建bundle

Snip20170522_365.png

Xcode 创建bundle

Snip20170522_367.png

  • 编译的时候记得编译一下bundle,要不然可能会报错:

Xcode 创建bundle

Snip20170522_368.png

PS: 以上大家可能发现了一个问题,好像是只能运行在Mac上,那我们需要修改下运行环境:

Xcode 创建bundle

Snip20170912_205.png

然后将bundle拖入到主工程中即可,当然读取bundle命令还是上面给的那一段:

Xcode 创建bundle

Snip20170912_207.png

三、第三种方式
  • 创建Bundle:

Xcode 创建bundle

Snip20170522_369.png

Xcode 创建bundle

Snip20170522_371.png

Xcode 创建bundle

Snip20170522_372.png

Xcode 创建bundle

Snip20170522_373.png

  • 将Bundle工程拖入到原生工程中:

Xcode 创建bundle

Snip20170522_375.png

Xcode 创建bundle

Snip20170522_374.png

  • 基于上面这种情况,关闭掉wuwu这个Bundle工程,然后再行拖入到原生工程中:

Xcode 创建bundle

Snip20170522_376.png

以上!

Xcode 创建bundle

小七.jpg

推荐阅读更多精彩内容

  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...

  • (原文:How to Create a Framework for iOS 作者:Sam Davies 译者:Mr...

  • (原文:How to Create a Framework for iOS作者:Sam Davies 译者:Mr_...

  • 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件。然而,这种方法并不是很优雅。它会暴露所有的实现细节...

    小热狗阅读 3,149评论 3赞 9

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...

    吃瓜群众呀阅读 10,431评论 3赞 42

  • 端起,就不想放下,放下,就一再地端起。 满着,杯子活着,空了,杯子死了,什么才最配杯口的唇印,一双手,一个眼神,或...

    二马行空阅读 453评论 1赞 8

  • 文章:20170808万物互联是如何通过系统来影响我们的成长的? 读前对标题的思考问题: 1、什么是万物?它包括哪...

  • 更多关注:http://www.mknight.cn/post/602/ python3 编译安装 依赖环境安装 ...