【问题标题】:What is the right way to include sub bundles into main bundle iOS将子包包含到主包 iOS 中的正确方法是什么
【发布时间】:2015-02-12 13:28:59
【问题描述】:

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

我将这些静态库包含到主项目中,即框架,我还需要将包包含到主项目中

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

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

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

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

非常感谢

【问题讨论】:

    标签: ios frameworks static-libraries bundles


    【解决方案1】:

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

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

    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 中复制捆绑包,您可以从构建阶段脚本执行并将复制路径设置为您的主要捆绑包。

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2014-05-22
      • 1970-01-01
      • 2018-04-24
      • 2010-12-03
      • 2016-12-18
      • 2021-03-21
      • 2019-07-28
      • 1970-01-01
      相关资源
      最近更新 更多