【问题标题】:iOS: Conditional code depending on current targetiOS:取决于当前目标的条件代码
【发布时间】:2011-11-20 04:42:27
【问题描述】:

我的 iPhone iOS 项目中有两个目标:ProductionPreview

我现在想执行一行代码,前提是我在目标Preview 中。 我想这必须是某种#ifdef ...。我发现a solution 几乎可以满足我的要求,但它使用的是配置而不是目标

例子:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  #ifdef MY_PREVIEW_TARGET
    [SomeLibraryWhichIsInPreviewTarget someMethod];
  #endif

  // Code that applies for both targets ...
}

感谢您的帮助

【问题讨论】:

    标签: objective-c ios xcode4


    【解决方案1】:

    Sams 解决方案运行良好。

    1. 打开预览目标的构建设置
    2. Preprocessor Macros 设置为MY_PREVIEW_TARGET=YES,然后我可以使用上面的代码来检查目标。

    【讨论】:

    • 只需将条目MY_PREVIEW_TARGET 添加到Preprocessor Macros。然后在您的代码中使用#ifdef MY_PREVIEW_TARGET。无需像MY_PREVIEW_TARGET=YES 那样将宏实际设置为YES。无需设置值,因为您没有检查该值,而只是检查变量的存在。
    【解决方案2】:

    您可以在构建设置的预处理器宏部分添加预处理器 ifdef。

    【讨论】:

    • 为什么应该是预处理器宏。由于它对“用户”有用,它必须是“用户定义的”。不是吗?
    • 很遗憾,Xcode intellisense 只是破坏了那些条件代码块。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2012-11-16
    相关资源
    最近更新 更多