似乎无法有条件地为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的变种. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |