微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在XCode上查看我的iPhone应用程序的TARGET_NAME?

我正在尝试在同一个XCode项目中拥有2个版本的iPhone应用程序.
代码库几乎相同,我需要有不同的行为,我决定使用预处理器的条件和${TARGET_NAME}标记.

我已将OTHER_CFLAGS设置为包含“-DTARGET_NAME = ${TARGET_NAME}”.

然后在我的代码中我试着做

#if TARGET_NAME == myApp
  NSLog(@"pro");
#elif TARGET_NAME == myAppLite
  NSLog(@"lite");
#endif

不幸的是,由于TARGET_NAME == myApp,我总是打印出“精简版”,因为TARGET_NAME已定义,所以它始终是真的.我不能为我的生活弄清楚如何评估这个字符串比较.
任何的想法?

提前致谢

解决方法

您无法比较#if块中的字符串.而是将定义添加到每个特定目标.例如,在完整版本的目标上,打开“信息”面板并转到“构建”选项卡,并将类似FULL_VERSION的内容添加到GCC_PREPROCESSOR_DEFinitioNS构建设置中.然后,对于lite目标,输入类似LITE_VERSION的内容.在您的代码中,您可以:
#ifdef FULL_VERSION
NSLog(@"Full");
#else
NSLog(@"Lite");
#endif

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐