ios - 如何在运行时区分 xcode 中的多个目标

标签 ios xcode target

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

最佳答案

项目 > build设置 > 预处理器宏

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

  • 目标_1
  • 目标_2

  • 在代码中你可以像这样区分它:
    NSString *pathToMyResource = nil;
    
    #ifdef TARGET_1
      pathToMyResource = @"pathToMyResourceForTarget1";
    #else
      pathToMyResource = @"pathToMyResourceForTarget2";
    #endif
    

    编辑:添加了快速语法
    #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?

    关于ios - 如何在运行时区分 xcode 中的多个目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868820/

    相关文章:

    ios - UIImageView 在 Xcode8 和 Swift3 中被隐藏

    programming-languages - 针对 Arduino/AVR 的编程语言

    html - 如何删除 :target pseudo-class from the entire page with HTML/CSS only?

    ios - 如何抑制每个文件的 -Wno-protocol

    iOS Storyboard - 一次禁用 Storyboard上的状态栏

    iOS 7 无法更改搜索栏背景图片

    objective-c - 自动调整 NSTableView 的大小

    javascript - 如何将多个 div 动画化到特定目标位置?

    ios - ios 8 自动布局中的全宽错误约束(适用于 ios 7)

    ios - 计算多个数组的最终值 - swift