2

我有以下情况,我正在尝试制作一个由子项目组成的框架,每个子项目都是一个静态库和一个包。

我将这些静态库包含到作为框架的主项目中,并且我需要将捆绑包包含到主项目中

下图可以描述我的结构 https://drive.google.com/file/d/0B3tzx8whq3EvaS1JVmV0Mnl5Y3M/view?usp=sharing

注意:我通过使用构建阶段脚本将子项目中的包复制到主输出文件夹中

所以我的输出被打包为一个包含标题和包的框架我的问题是:如何在运行时访问特定的包?不让客户复制每个捆绑包?

我可以将所有捆绑包合并到一个捆绑包中吗?我的意思是包含许多捆绑包的捆绑包?如果是,如何使用子包中的文件?

非常感谢

4

1 回答 1

2

我进行了很多搜索并找到了解决方案,首先您可以在捆绑包中包含捆绑包,这样用户就不必复制所有捆绑包,只需复制主要捆绑包。

我们可以像这样访问包中的任何包:

NSBundle *mainBundle = [NSBundle bundleForClass:[self class]];
NSBundle *bundle = [NSBundle bundleWithURL:[mainBundle URLForResource:@"myMainBundle" withExtension:@"bundle"]];

因此,当您想访问名为 m​​yMainBundle.bundle 的捆绑包中的任何捆绑包时,您可以像这样获取它的路径:

NSString *subBundlePath =[bundle pathForResource:@"subBundle" ofType:@"bundle"];

要在 budle 中复制捆绑包,您可以从构建阶段脚本执行并将复制路径设置为您的主要捆绑包。

于 2015-02-18T11:49:51.540 回答