【问题标题】:How can I differentiate between multiple targets in xcode at runtime如何在运行时区分 xcode 中的多个目标
【发布时间】:2017-10-07 16:56:30
【问题描述】:

在我需要创建多个目标的旧目标 c 应用程序上工作。问题是我如何区分代码中的多个目标运行时间,因此我需要从 bundle.xml 加载资源。

【问题讨论】:

  • 通过使用包标识符 - 如果您对两个目标使用不同的包标识符。

标签: ios xcode target


【解决方案1】:

项目 > 构建设置 > 预处理器宏

为不同的目标定义不同的宏,例如:

  • TARGET_1
  • TARGET_2

在代码中你可以像这样区分它:

NSString *pathToMyResource = nil;

#ifdef TARGET_1
  pathToMyResource = @"pathToMyResourceForTarget1";
#else
  pathToMyResource = @"pathToMyResourceForTarget2";
#endif

编辑:添加了 swift 语法

#if DEBUG
  let apiKey = "KEY_A"
#else
  let apiKey = "KEY_B"
#endif

请看这里:Swift 3: how to use PREPROCESSOR Flags (like `#if DEBUG`) to implement API keys?

【讨论】:

  • PL。也建议 swift 也这样做
【解决方案2】:

您可以使用@matloob 的答案。下面是另一种方法。

您还可以使用预处理来区分目标。

请看下面的教程。这也可能对您有所帮助。

参考: Target Differentiation dynamically - Appcoda

【讨论】:

    猜你喜欢
    • 2012-02-09
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多