是否有预处理宏仅在基础SDK为7.0或更高版本时编译代码的某些部分? “__IPHONE_7_0”定义的常量似乎与iOS开发目标(而不是基础SDK)相关联。
我正在使用安装了iOS 7和iOS 6.1的XCode 5。
我提出这个问题的原因是,我目前正在将一个应用程序从iOS 6转换到iOS 7。有许多需要调整的地方,我当前仍想将我的应用程序编译为基础SDK为iOS 6.1(并具有开发目标为iOS 6.0),但已经想添加一些仅在使用iOS 7 SDK编译时才需的代码,但如果基础SDK是iOS 6.1则不编译。
例如:
if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[_tableView setSeparatorInset:UIEdgeInsetsZero];
}
这段代码在使用iOS 6.1基础SDK时无法编译,因为它抱怨UITableView没有定义setSeparatorInset。因此,我想在预处理器指令中包含此代码片段,有条件地基于基本SDK。