objective-c ios10 foundation

objective c - Cómo verificar la disponibilidad de API en Xcode 9



objective-c ios10 (1)

Estoy usando el marco de UserNotification que está disponible solo en iOS 10. Estoy declarando un método que usa este marco y hasta ahora, he estado haciendo la verificación de la disponibilidad de la siguiente manera:

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

XCode 9 beta se acaba de lanzar y con este código recibo una advertencia

''UNNotificationContent'' es parcial: introducido en iOS 10.0 Annotate ''handleWillPresentNotification: withCompletionHandler:'' con un atributo de disponibilidad para silenciar

La pregunta es, ¿cómo puedo anotar esto en el código del Objetivo C todo el método? Sé que Xcode 9 introdujo el

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

¿Pero cómo envuelvo todo el método (incluida su firma)?

aclamaciones


para responder a mi propia pregunta: necesito marcar el método utilizando la macro NS_AVAILABLE_IOS siguiente manera:

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