Как проверить наличие API в Xcode 9

Я использую фреймворк UserNotification, доступный только в iOS 10. Я объявляю метод, который использует эту структуру, и до сих пор я делал проверку доступности следующим образом:

@interface MyService : NSObject
 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000
    -(BOOL)handleWillPresentNotification:(UNNotificationContent *)notificationContent;
#endif
@end

XCode 9 beta был просто выпущен, и с этим кодом я получаю предупреждение

"UNNotificationContent" является частичным: введено в iOS 10.0 Аннотировать 'handleWillPresentNotification: withCompletionHandler:' с атрибутом доступности для молчания

Вопрос в том, как я могу комментировать этот код Objective C всего метода? Я знаю, что Xcode 9 представил

if (@available(iOS 10, *)) {
    // iOS 10 ObjC code
}

но как я могу обернуть весь метод (включая его подпись)?

веселит

Ответы

Ответ 1

чтобы ответить на мой собственный вопрос: мне нужно отметить метод, используя макрос NS_AVAILABLE_IOS следующим образом:

-(BOOL)handleWillPresentNotification:(UNNotificationContent *)notificationContent NS_AVAILABLE_IOS(10_0);