iOS:根据当前目标的条件代码

Bes*_*esi 17 objective-c ios xcode4

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

我现在想要执行一行代码,只有当我在目标中时Preview.我想这必须是某种形式#ifdef ....我找到了一个解决方案,几乎可以完成我想要的任务,但它使用的是配置,而不是目标.

例:

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

  #ifdef MY_PREVIEW_TARGET
    [SomeLibraryWhichIsInPreviewTarget someMethod];
  #endif

  // Code that applies for both targets ...
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

Bes*_*esi 38

Sams解决方案工作正常.

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

  • 只需将条目"MY_PREVIEW_TARGET"添加到"预处理器宏"即可.然后在代码中使用`#ifdef MY_PREVIEW_TARGET`.无需像`MY_PREVIEW_TARGET = YES`那样将宏实际设置为"YES".不需要设置值,因为您没有检查该值,只是存在变量. (10认同)

Sam*_*Sam 22

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