我有一个Xcode工作区,有几个项目,比如说Foo和Baz,它们都依赖于一些常见代码,这些代码恰好是RCSwitch切换按钮代码(如果有人有兴趣可以在这里找到).RCSwitch附带了一些需要在Foo或Baz运行时加载的图像文件.它们使用UIImage imageNamed:消息加载,就像这样
UIImage *knobTmpImage = [[[UIImage imageNamed:@"btn_slider_thumb.png"] retain] autorelease];
Run Code Online (Sandbox Code Playgroud)
我的理解是,为了工作,图像需要成为应用程序包的一部分.我的问题是如何从我的图书馆中获取它们?我已经尝试将"Copy Bundle Resources"构建阶段添加到我的库项目中,然后将所有图像添加到该项目中而没有任何效果.在运行时无法找到图像.
然后我尝试将图像添加到Foo和Baz自己的"Copy Bundle Resources"构建阶段; 必须选择"添加其他",因为即将到来的对话框不会列出当前项目之外的任何资源.这实际上是有效的,但它似乎是一种奇怪的方式.Foo和Baz都不应该了解图书馆的内部.如果我想将库发送给外部客户怎么办?
还有另一种方法吗?是否可以在libXXX.a文件中包含图像或其他资源?
我要做的就是让我的静态库创建一个包,将其包含在主应用程序项目中。如果在工作区中使用子项目/同级项目,则可以通过以下方式添加此捆绑包:如果您编辑库项目以添加另一个图像,则它会被重建,这意味着主应用程序项目将接受更改。
我在这里写了一篇关于它的教程 - http://www.galloway.me.uk/tutorials/ios-library-with-resources/
UIImage您会感兴趣的是我用来选取库包中图像的类别。因此,从库的代码中,我使用类别中添加的方法从正确的包中获取图像。
| 归档时间: |
|
| 查看次数: |
6241 次 |
| 最近记录: |