iOS 如何把图片资源或者xib文本文件,打包成bundle文件及遇到的坑(详解)

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

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

2、制作 Bundle 文件

  1. 创建bundle 如图所示:
    在这里插入图片描述
    找到如图所示:
    在这里插入图片描述
    输入所创建的图片库名称
    在这里插入图片描述

  2. 点击创建好的bundle ,修改属性
    (1.)“Base SDK” 设置为 " iOS "

      "Build Active Architecture Only" 设置为 "YES"
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190308181948894.jpeg)
    

在这里插入图片描述
(2.)Installation Directiotory 删除掉后面的路径
在这里插入图片描述
(3.)Code Signing Identity 选择 Don’t Code Sign
在这里插入图片描述
(4.)“Skip Install” 设置为 “NO”
在这里插入图片描述
(5.)“Strip Debug Symbols During Copy” 中"Release"模式设置为 “YES”
在这里插入图片描述
(6.) “COMBINE_HIDPI_IMAGES” 设置为 “NO”
在这里插入图片描述
3. 现在开始导入图片资源(1.直接拖项目中,系统会自动导入Copy Bundle Resources里去,2.如下图加进去)

在这里插入图片描述

  1. 选择创建的bundle 进行编译,开始生成bundle,分别选择真机和模拟器,然后各运行一遍,即可生成真机和模拟器使用的bundle:
    在这里插入图片描述
  2. 找到生成的bundle,打包上架APP的时候应使用真机模式下运行生成的Bundle,即Debug-iPhoneos 文件夹内的bundle。
    在这里插入图片描述

6.bundle的使用,因为bundle是静态的,不进行编译的资源文件。所以,要使用bundle中的资源,就需要找到相应的资源路径。

#define STBundle_Name @"bundle路径"
#define STBundle_Path [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:STBundle_Name]
#define STBundle [NSBundle bundleWithPath:STBundle_Path]
self.iconImg.image = [UIImage imageNamed:imgName
                                    inBundle:STBundle
               compatibleWithTraitCollection:nil];
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值