J'utilise le framework UserNotification
qui n'est disponible que dans iOS 10. Je déclare une méthode qui utilise ce framework et jusqu'à présent, j'ai effectué la vérification de la disponibilité comme suit:
@interface MyService : NSObject
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000
-(BOOL)handleWillPresentNotification:(UNNotificationContent *)notificationContent;
#endif
@end
XCode 9 beta vient de sortir et avec ce code, je reçois un avertissement
'UNNotificationContent' est partiel: introduit dans iOS 10.0 Annotez 'handleWillPresentNotification: withCompletionHandler:' avec un attribut de disponibilité pour faire taire
La question est de savoir comment puis-je annoter cela dans le code Objective C toute la méthode? Je sais que Xcode 9 a introduit le
if (@available(iOS 10, *)) {
// iOS 10 ObjC code
}
mais comment puis-je envelopper toute la méthode (y compris sa signature)?
à votre santé
pour répondre à ma propre question: je dois marquer la méthode en utilisant le NS_AVAILABLE_IOS
macro comme suit:
-(BOOL)handleWillPresentNotification:(UNNotificationContent *)notificationContent NS_AVAILABLE_IOS(10_0);