加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

似乎无法有条件地为iPhone / Mac编译

发布时间:2020-12-14 17:30:29 所属栏目:百科 来源:网络整理
导读:我有这个来源( xcode 3.2.5): NSLog(@"IPHONE = %d,SIMULATOR = %d,MAC = %d",TARGET_OS_IPHONE,TARGET_IPHONE_SIMULATOR,TARGET_OS_MAC); 我得到了这个结果: 2012-03-30 13:50:06.777 MyApp[36810:207] IPHONE = 1,SIMULATOR = 1,MAC = 1 难怪我的#if语句
我有这个来源( xcode 3.2.5):

NSLog(@"IPHONE = %d,SIMULATOR = %d,MAC = %d",TARGET_OS_IPHONE,TARGET_IPHONE_SIMULATOR,TARGET_OS_MAC);

我得到了这个结果:

2012-03-30 13:50:06.777 MyApp[36810:207] IPHONE = 1,SIMULATOR = 1,MAC = 1

难怪我的#if语句很混乱!

是什么赋予了?有任何想法吗?

FWIW:On(系留)iPod Touch我得到这个:IPHONE = 1,SIMULATOR = 0,MAC = 1

补充:嗯,我发现我原来的#if问题是由于在几个地方拼错了TARGET_OS_IPHONE为TARGET_OS_PHONE. (好的’复制/粘贴!)

仍然希望找到关于如何设置Apple定义的明确描述.

解决方法

使用TARGET_OS_IPHONE(仅限!)来区分iOS和OSX.

#if TARGET_OS_IPHONE
// iOS
#else
// Mac OS X
#endif

OSX和iOS上的TARGET_OS_MAC将为1;它早于iOS,就TargetConditionals.h而言,iOS被认为是OSX的变种.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读