首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不作比较地使用__IPHONE_OS_VERSION_MIN_REQUIRED

不作比较地使用__IPHONE_OS_VERSION_MIN_REQUIRED
EN

Stack Overflow用户
提问于 2015-04-26 20:29:22
回答 1查看 388关注 0票数 1

在AFNetworking 2.0中,NSHTTPSessionManager.h有以下代码:

代码语言:javascript
复制
#if __IPHONE_OS_VERSION_MIN_REQUIRED
#import <MobileCoreServices/MobileCoreServices.h>
#else
#import <CoreServices/CoreServices.h>
#endif

使用__IPHONE_OS_VERSION_MIN_REQUIRED时不指定要比较的版本。为什么?是因为这个宏是在Core框架更改为MobileCoreServices.h时定义的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 09:31:23

这是一个检查设备是iOS设备还是OS设备。MobileCoreServices在iOS上使用,CoreServices在OS上使用。

__IPHONE_OS_VERSION_MIN_REQUIRED只在iOS上定义,这就是为什么这样做的原因。另一个检查是MAC_OS_X_VERSION_MIN_REQUIRED,它只在OS上定义,因此可以反向使用。

这是个糟糕的检查,不应该做。应该为每个平台创建单独的框架。我猜他们这么做是因为这样可以节省一些硬盘空间,因为框架的其他部分可能几乎相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29883135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档