0

用例

  1. 带有自定义 UI 控件集合的静态库
  2. 自定义 UI 的 PNG 是静态 Lib 项目的一部分
  3. 另一个可执行项目与静态库链接以使用它的 UI 集合


问题

IDE 似乎不~知道~ 自动嵌入与静态库关联的资源(例如 PNG 文件)。

  • 除了直接将它们添加到项目中之外,还有什么方法可以将这些静态 Lib 资源嵌入到主可执行项目中?
  • IDE 有什么方法可以自动检测依赖关系并将资源包含在生成的可执行文件中?

任何帮助将不胜感激。

4

1 回答 1

1

没有任何方法可以仅通过链接到该库来自动将资源从静态库复制到另一个目标(就像您可以使用框架一样)。

我能找到的最佳解决方法是将库的资产放在以“.bundle”结尾的目录中(例如,MyLibraryResources.bundle)。Xcode(和 Finder)会将此目录视为一个单元。然后,使用该库的目标只需将单个资源(即包)添加到项目中。这并不完美,但很容易。

在您的库中,当引用包中的资源时,您只需执行以下操作:

NSString *pathToSomeImage = [[NSBundle mainBundle] pathForResource:@"MyLibraryResources.bundle/SomeImage.png" ofType:nil];

由于 Finder 对待它们的方式与普通目录不同,因此使用 Bundle 可能会有些痛苦。您可以通过在库项目中添加一个目标来更轻松地处理它们,该目标通过复制您的资源来组装捆绑包。

于 2013-01-08T21:03:57.377 回答