【问题标题】:Can you add a build product from a different project as a bundle resource in XCode?您可以将来自不同项目的构建产品添加为 XCode 中的捆绑资源吗?
【发布时间】:2012-01-27 23:33:48
【问题描述】:

我在 Xcode 工作区中有两个项目。我想将项目B的构建产品作为捆绑资源添加到项目A中。我已经配置了项目A的方案,首先构建项目B。除了简单地从文件系统中添加项目 B 的构建产品之外,还有其他合适的方法吗?

【问题讨论】:

    标签: xcode xcode4


    【解决方案1】:

    我能够通过以下方式将项目 B 的产品添加到项目 A 中。我只是将项目 B 的产品从 Project Navigator 拖到项目 A 的 Copy Bundle Resources 窗格中。这可能很棘手,因为您无法通过选择产品的图标来启动拖动——我只是通过拖动其标题才成功。不需要使项目 B 成为目标 A 的目标依赖项;可以通过方案来管理构建依赖项(这是我最初配置工作区的方式)。

    【讨论】:

      【解决方案2】:

      这里有些回答了同样的问题:https://stackoverflow.com/a/7118177/470225。这不是一个完美的解决方案,但它对我有用。您可以添加“运行脚本”构建阶段以将资源包复制到应用程序二进制文件中。这是脚本:

      cp -R -f $BUILT_PRODUCTS_DIR/MyBundle.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/
      

      【讨论】:

        【解决方案3】:

        您可以转到项目 A 的构建阶段选项卡,并将项目 B 的产品添加到“复制捆绑资源”构建阶段。确保为项目 B 添加依赖项。

        【讨论】:

        • 不幸的是,项目 B 的产品没有作为目标依赖项的选项显示(它不是项目 a 的目标,它只是共享一个工作区),也不能作为捆绑资源添加.不过谢谢...试图弄清楚是否可以将不同项目的产品添加为捆绑资源。
        • 如果在项目A中拖动项目B,可以选择项目B的目标作为依赖和资源。
        • 这让我更近了一步,谢谢。这允许我将项目 B 添加为目标依赖项。不幸的是,当我尝试将捆绑资源添加到项目 A 时,项目 B 的产品仍然没有显示为选项。
        • 看看这个项目会有帮助。这是一个关于子项目的教程:cocoanetics.com/2011/12/sub-projects-in-xcode
        • 另一个有答案的问题:stackoverflow.com/questions/4219054/…
        【解决方案4】:

        应该是cp -R -L -f $BUILT_PRODUCTS_DIR/MyBundle.bundle $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/-L,没有这个,在存档期间只有符号链接被复制到内容文件夹路径并且应用程序崩溃,因为看不到真正的资源。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-09
          • 2014-06-07
          • 1970-01-01
          相关资源
          最近更新 更多