【问题标题】:How to use a loadable bundle from a static library?如何使用静态库中的可加载包?
【发布时间】:2011-06-27 12:01:01
【问题描述】:

我创建了一个静态库“MyLib.a”及其可加载包“MyLibBundle.bundle”,其中包含所有需要的资源,例如我的 xcdatamodel xibs

现在,我想在另一个项目中使用该库。

所以,我将“MyLib.xcodeproject”包含在新的中,链接库并指定标题搜索路径。

但是,毕竟应用程序找不到我的核心数据文件(SIGABRT)。

有人有解决办法吗?

【问题讨论】:

  • 我能给出的最佳建议是手动复制包含所有资源的捆绑包,然后根据源代码(bensarz 概述)将项目添加为构建依赖项。您不能在 iOS 应用中包含第二个顶级捆绑包。

标签: iphone core-data ios4 static-libraries bundle


【解决方案1】:

我们遇到了同样的问题。 这是迄今为止我们发现的最佳方法:

  1. 将lib.xcodeproject拖到你的项目中
  2. 使用正确的方案从您的项目构建库
  3. 展开树形结构,直到看到构建生成的产品
  4. 右键单击,选择“在查找器中显示”,它最终应该位于 ../DerivedData/Projec-HASH/Build/Products/etc...
  5. 将 .bundle 拖到项目源中
  6. 将其设置为相对于构建产品(右窗格)

现在,在您的主方案中,将捆绑包添加为要在您的应用本身之前构建的目标。 此外,取消选中并行化复选框并确保捆绑包位于应用程序上方。这可以确保首先构建您的包,然后构建您的应用程序。

希望这会有所帮助!

【讨论】:

  • 这样做的问题是每次构建新版本的库时都必须这样做。
  • 构建新版本的库是什么意思?如果您正在处理 lib 类,此过程将重建您的包,您的项目将看到更改。
  • 哦,是的!我们花了一段时间才弄清楚! ;) 不要忘记将其添加到方案中,否则您必须在构建应用程序之前手动重新构建库。
  • 如果您觉得我的回答有用,请考虑正式接受。谢谢!
猜你喜欢
  • 2021-07-29
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多