【问题标题】:Xcode - multiple targets for framework - same name?Xcode - 框架的多个目标 - 同名?
【发布时间】:2018-01-12 04:28:18
【问题描述】:

我有一个生成 iOS 框架的 Xcode 项目。我想要生成两个版本的二进制文件 - 一种供内部使用,没有许可要求,另一种供外部使用,有许可要求。

我想我会为此设置两个目标,使用不同的 swift 定义来打开许可。

但似乎我必须生成具有不同名称的框架,这会导致在其他项目中使用 import 时出现问题。我必须使用一个名称或另一个名称。

有没有办法可以生成两个具有相同名称的目标 - 如直接生成二进制文件的位置?

【问题讨论】:

    标签: ios xcode target


    【解决方案1】:

    解决方案是进入每个单独的目标,并按以下方式更改它们:

    1) 确保目标的产品名称是我想要的名称(而不是 $(TARGET_NAME)

    2) 在“per-configuration Build Products Path”中,为目标添加一个目录(即一个是“license”,另一个是“internal”。这会将框架放在那个目录中,这样它们就可以是相同的名称。

    我已经构建了这两个框架,并将生成的框架拖到我的应用项目中,我可以看到它们工作正常。

    【讨论】:

    • 感谢您提出的精彩问题。我有同样的情况,但我真的想制作两个相同的框架,但名称不同,如“Product-Beta.framework”和“Product-Release.framework”。你能请我解决这个问题吗?
    【解决方案2】:

    感谢乔的提问和回答。

    我只想补充一点,使用 Xcode10 我无法将框架从根目录移动到文件夹层次结构中的指定组(嵌入二进制文件添加了对项目根目录的引用)。 相反,我必须构建这两个框架并将它们拖放到各自的组中。这给我带来了一个问题,因为我必须模块化一个整体并分离 UI 组件。在编写 UI 和在设备上进行测试时,手动构建框架和拖放需要时间。对于遇到相同问题的任何人,我建议使用构建脚本将框架复制到他们的位置,这样可以节省时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      相关资源
      最近更新 更多