zoukankan      html  css  js  c++  java
  • iOS 添加Resource bundle target(静态库中使用图片等资源)

    一、首先将资源文件打包成bundle

    新建工程:File -> New -> Project... -> OS X -> Framework & Library -> Bundle

    我们必须借助于OS X,因为iOS框架中没有创建Bundle的模板

    填写项目名称

    保存位置

           其实本无需这么麻烦,bundle的本质是一个目录,我们完全可以创建一个文件夹,把需要封装的资源文件拷贝至该目录下,将其改成后缀名为bundle即可,然后就可以使用NSBundle提供的接口访问其内部的资源文件,当然,也可以通过访问普通文件目录的方法访问其内部的资源。

           此处主要是考虑到有xib文件的存在,由前面的知识可知,xib是文本文件,编译后要被序列化为二进制的nib文件,使用时将nib文件反序列化,就可以正常显示界面了。而bundle本身是静态的,其内部的资源包不参与项目的编译,所以,此处必须创建工程把xib序列化为二进制的nib,否则的话,直接创建文件夹后改名就可以了。

           因此一些辅助文件(红色矩形框起的部分)都不需要了,直接删除即可

    有一点一定要十分十分的小心:

    删除上面红色矩形框中文件时,可以完全的删除,因为这些文件都是我们自己创建的

            而删除下面矩形框中的文件时,千万不能“Move to Trash”,只能"Remove References"(删除引用),因为framework是系统框架的一部分,如果删除了,下次运行时候,就会报错。我就犯过这个低级错误,从来没想过系统文件会被自己删除,所以也没往这方面去想,以至于花费了很长时间才解决了问题。

    由于我们删除了plist文件,所以必须在Build Settings中删除对它的引用

    同样,也要删除pch文件的引用

    我们创建项目时选的是OS X中的框架,所以此处需要修改Base SDK为iOS

    修改后

    设置完毕,现在拷贝资源文件到项目中来

    正是我们需要的两个图片文件,一个xib文件

    一切就绪,按快捷键"Command + B"编译,编译成功后,Products下面的MyToolsWithAssetsA.bundle由红色变成了黑色,表示编译成功

    找到生成的bundle所在的目录

    查看里面的内容

    打开

    正是我们所需要的,xib也被转化成了nib

    原文链接:http://www.cnblogs.com/mylizh/p/3971544.html

  • 相关阅读:
    【转】#pragma pack(push,1)与#pragma pack(1)的区别
    emwin 之变量定义位置
    【转】C语言字符串与数字相互转换
    【转】用emWin进度条控件做个表盘控件,效果不错
    emwin 之消息 WM_INIT_DIALOG
    emwin 之使用键盘数据发送函数的注意事项
    emwin 解决在A窗口上新建B窗口后‘只激活’B窗口问题
    【转】数学与编程——求余、取模运算及其性质
    hdu4831 Scenic Popularity(线段树)
    2014年百度之星程序设计大赛
  • 原文地址:https://www.cnblogs.com/wfwenchao/p/5512112.html
Copyright © 2011-2022 走看看