@interface
- это конструкция времени компиляции, которая позволяет компилятору знать, что названный символ является типом класса, и дает ему достаточно информации для надлежащего генерирования предупреждающих сообщений на основе того, что, по-видимому, неправильно используется классом другими актеры.
Таким образом, вы ничего не можете сделать с @interface
, чтобы он выглядел по-разному в зависимости от версии ОС, на которой запущено приложение. Что вы ожидаете от него - распечатать все предупреждения компилятора, которые вы получили бы?
В мире Objective-C лучшим решением всегда является сборка на основе новейшего SDK, установка наименьшей версии iOS, для которой разработано приложение, в Info.plist и проверка во время выполнения (с использованием NSClassFromString
, respondsToSelector:
и т. д.) для любых функций, которые могут отсутствовать в результате.
В вашем случае не должно быть абсолютно никаких проблем, просто оставив там объявления протоколов и не подумав дважды.