前 言:这两天研究代码封装,因为用到百度地图的时候发现大家都是直接引进来三个文件就可以使用百度地图,这是代码重用和团队开发的不错的选择,于是我就 从.bundel开始查资料,结果都是把图片等资源打包的例子.后来查找.a的例子,结果都是简简单单的对一个类的打包.后来想想,如果要对.a 和.bundel一块打包,这样开发起来岂不是更方便?结果翻遍整个网络,很少有这方面的教程,是不是太简单了而只是我不会呢?无论如何反正是我不会.后 来终于找到了一个博客讲一起使用的方法,可悲的是他博客图片不显示,起的名字也让我分不清到底那是哪.....可喜的是,那博客作者把文章出处贴出来了, 很是感谢,于是决定自己来个翻译!原文:http://www.galloway./tutorials/ios-library-with- resources/ 全英的. 翻译加自解: 一,原版前言 有一天你会感觉特别的复杂,去为包含XIB,Graphics等元素的ios程序创建一个"framework",人们通常使用像 iOS Universal Framework之类的类库,我也尝试过,但是在设置断点的时候总是出现问题,我想应该会有更好的方法来完成这样的工作.当我想到使用静态库和资源Bundle时,我尝试了一下,在这里我演示给你们看,你们可以根据这个来建立自己的应用程序包,实现封装自己的源码. 第一步,创建一个静态库项目 首先要建立"Cocoa Touch Static Library”项目,在此直接上图,看下图你一定知道怎么做 点击下一步,创建项目名这里为: MyLibrary 本项目使用ARC管理内存.ok项目创建完成. 第二步,添加一个附件元素(其实就是加头文件) 为了使静态库的头文件能被包含文件的工程找到,我们需要在特定的目录中添加头文件,通过发现错误和调试程序,以及看一些博客文章,我发现我们需要把这些头文件放在include 子目录下的"Products Directory". 要加这头文件,你需要进入静态库的build settings 选项,这个选项在"Build Phases"选项处,你会发现一个叫做"Add Build Phase";原图如下: 就翻译到这里卡住了,因为我用的是xcode5.0版,根本都没这样的图标....很多时候,我们总是一片热心却死在半路上,下面我把最新版的做法发表于下: 看图: 通过比较发现,新版本的xcode项目下面没有那三个图标.而且我们新建静态库项目之后会自动把头文件加进来,但是后来新加的类需要手动添加头文件!(此处可能有掌声,等待三秒钟.....)
第三步,添加资源束目标 获 得用于显示的资源文件最神奇的方式是把所有文件放进bundle中,这样我们可以在其他项目中引用.所以我们要为静态库项目添加一个bundle类型的目 标.从静态库的build settings选项中点击"Add Target"按钮,如图: 起名:MyLibraryResources 第四步,修改资源bundle目标 当资源束目标加入之后,它将默认被建立成Mac OS X建立目标.因为我们要IOS的,所以这个目标文件的设置不对.你只需要修改相关设置,就会变成你想要的.如图: 以上是原英版的截图,有的初学者可能不知道怎么找,就是目标下的Build Settings选项下,修改Base SDK为ios的选项,下面是我xcode5.0下的截图: 第五步,为bundle target添加一个XIB 为了获得放进bundle中的资源,你需要做的就是把他们添加到目标元素的"Copy Bundle Resources"下,下图是把MyViewController.xib放到bundle中的例子 以上还是英版老版本的截图.如果有人看不懂,或新版本的和那个不一样,来看我的: (重点说明:从老版本的截图和我的新版本的截图可以看出,新版本的xcode会自动帮我们添加到那里) command+B编译项目. 第六步,以上是第一阶段,制作库文件,下面创建应用程序项目 现在我们就要创建应用程序来使用库,现在创建一个空应用程序,下面是截图流程,名:MyLibraryTest,使用ARC |
|