是否可以通过编程方式确定iOS目标

时间:2013-10-11 11:01:31

标签: ios objective-c

我希望能够在iOS应用中打开/关闭某些功能,具体取决于它是否为发行版本。是否可以以编程方式是否当前版本是发布版本?我知道通过使用宏可以实现类似的功能,但据我所知,如果有问题的代码在静态库中,这些将不起作用。

3 个答案:

答案 0 :(得分:1)

在您的方案中创建一个标志,并像

一样使用它
#ifdef BETA

所以说你想让一个字符串方法为两个不同的状态返回两个不同的字符串

- (NSString *)someString {

  #ifdef BETA
    return @"Beta String";
  #else
    return @"Release String";
  #endif

}

您可以使用内置的

#ifdef DEBUG

这将区分发布和调试

我不建议有两个不同的目标。

答案 1 :(得分:0)

正如H2CO3所说:

#ifdef DEBUG
    NSLog(@"Debug mode");
#endif

答案 2 :(得分:0)

只需在您的方案中设置目标名称 - >环境变量 - >添加名称和值。例如:targetName =" mytesttarget"

<强>的OBJ-C

NSDictionary * envir = [[NSProcessInfo processInfo]环境];
NSString * targetName = envir [@&#34; targetName&#34;];

<强>夫特

让envir = NSProcessInfo.processInfo()。环境
让targetName = envir [&#34; targetName&#34;]

现在您可以检查目标条件

如果targetName ==&#34; mytesttarget&#34; {
...
其他{
...
}