预编译里怎么判断 iOS 的版本

Yanbin_Q 2011-11-08 03:04:57
比如像这样的代码怎么写

#if OS_VERSION > 4
执行的代码....
#endif
...全文
822 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rbchen 2012-04-15
  • 打赏
  • 举报
回复
预编译是在编译之前, 这时候你怎么能知道你的程序将要跑在哪个设备上呢。。。
一丝晨光 2012-01-11
  • 打赏
  • 举报
回复
这里是关于iphone 设备信息的代码:
http://blog.csdn.net/cxsjabcabc/article/details/7183021

楼主说的应该是条件编译吧,那你需要用的是最大允许的版本等等宏
flyeag 2011-11-12
  • 打赏
  • 举报
回复
好多系统头文件中就有这些定义
ynwlgh 2011-11-10
  • 打赏
  • 举报
回复
// Obtain the list of proxies by running the autoconfiguration script
#if !TARGET_OS_IPHONE || __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_2_2
CFErrorRef err2 = NULL;
NSArray *proxies = [(NSArray *)CFNetworkCopyProxiesForAutoConfigurationScript((CFStringRef)script,(CFURLRef)theURL, &err2) autorelease];
if (err2) {
return nil;
}
#else
NSArray *proxies = [(NSArray *)CFNetworkCopyProxiesForAutoConfigurationScript((CFStringRef)script,(CFURLRef)theURL) autorelease];
#endif
巴依老爷 2011-11-08
  • 打赏
  • 举报
回复
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
// This code will only compile on versions >= iOS 5.0
#endif
Yanbin_Q 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ybh37 的回复:]

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0)⋯⋯
[/Quote]

我现在也是用的这种方法,我还是希望,能不能用预编译的方式来判断,而不是程序执行时的动态分支。
咸清 2011-11-08
  • 打赏
  • 举报
回复
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0)⋯⋯

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧