Есть ли какой-либо макрос препроцессора для компиляции определенных частей кода, только если базовый SDK равен 7.0 или выше? Определенная константа "__IPHONE_7_0", по-видимому, связана с целью разработки iOS (а не с базовым SDK).
Я использую XCode 5 с установленными iOS 7 и iOS 6.1.
Причина, по которой я спрашиваю об этом, заключается в том, что я в настоящее время перехожу с приложения с iOS 6 на iOS 7. Есть немало вещей для настройки, и в настоящее время мне все же хотелось бы скомпилировать мое приложение с iOS 6.1 в качестве базы SDK (и с целью разработки iOS 6.0), но уже хотел бы добавить некоторый код, который я захочу, всякий раз, когда компилирую с помощью iOS 7 SDK, но который не компилируется, если базовый SDK - это iOS 6.1.
Пример:
if ([_tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[_tableView setSeparatorInset:UIEdgeInsetsZero];
}
Этот фрагмент кода не компилируется с SDK базы данных iOS 6.1, поскольку он жалуется на то, что setSeparatorInset не определен для UITableView. Поэтому я хотел бы включить этот фрагмент кода в директиву препроцессора, условно на базовый SDK.