【发布时间】:2017-10-07 16:56:30
【问题描述】:
在我需要创建多个目标的旧目标 c 应用程序上工作。问题是我如何区分代码中的多个目标运行时间,因此我需要从 bundle.xml 加载资源。
【问题讨论】:
-
通过使用包标识符 - 如果您对两个目标使用不同的包标识符。
在我需要创建多个目标的旧目标 c 应用程序上工作。问题是我如何区分代码中的多个目标运行时间,因此我需要从 bundle.xml 加载资源。
【问题讨论】:
项目 > 构建设置 > 预处理器宏
为不同的目标定义不同的宏,例如:
在代码中你可以像这样区分它:
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?
【讨论】:
您可以使用@matloob 的答案。下面是另一种方法。
您还可以使用预处理来区分目标。
请看下面的教程。这也可能对您有所帮助。
【讨论】: