【问题标题】:How to handle multiple targets in XCode using swift language?如何使用 swift 语言处理 XCode 中的多个目标?
【发布时间】:2015-10-31 09:09:40
【问题描述】:

我在 XCode 中创建了两个目标,但我使用的是 swift。 有人可以知道如何使用 swift 处理多个目标吗?正如我们在 Objective-C 中所做的那样,如下例所示。

#if defined(TARGET_LITE)

      NSLog("Lite version");

 #else

      NSLog("Original version");

 #endif

提前致谢

【问题讨论】:

    标签: xcode


    【解决方案1】:

    您当然可以在 Swift 中使用像 #if 这样的预处理器语句,但我认为您需要自己定义目标变量。我是这样使用的:

    构建设置 -> Swift 编译器标志 -> 其他 Swift 标志 在您的 lite-target 配置中设置变量 -D LITE

    在您的代码中,您可以这样使用它:

    #if LITE
       // do something
    #else
      // do something else
    #endif
    

    【讨论】:

    • @Daniel,我使用的是 xcode 7,对我来说宏不起作用。
    【解决方案2】:

    在目标的Build Settings下搜索“flags”并将-D TARGET_LITE添加到Swift Compiler - Custom Flags > Other Swift Flags

    通过查看构建日志来观察它是如何传递给编译器的(难以阅读,抱歉):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多