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);