Ne pas recevoir les notifications push CloudKit pour la zone d'logging personnalisée sur le Mac

J'ai configuré un abonnement à une zone personnalisée pour recevoir des notifications push (silencieuses) à partir de ma zone d'logging personnalisée. Tout fonctionne correctement sur mes appareils iOS, mais je ne suis pas en mesure de recevoir les notifications sur mon Mac.

Pour save les notifications, j'enregistre le type de notification dans applicationDidFinishLaunching :

 [[NSApplication sharedApplication] registerForRemoteNotificationTypes:NSRemoteNotificationTypeNone]; 

(J'ai essayé les autres types avec le même résultat)

 application:didRegisterForRemoteNotificationsWithDeviceToken: 

est alors appelé avec un jeton valide. Tout semble bien, mais quand la zone personnalisée enregistre des changements, je ne reçois aucune notification et

 application:didReceiveRemoteNotification: 

n'est pas appelé. J'ai également essayé de définir le corps d'alerte à une string vide comme ceci:

 CKNotificationInfo *info = [[CKNotificationInfo alloc] init]; info.alertBody = @""; info.shouldSendContentAvailable = YES; 

mais ça n'a pas marché non plus. Lorsque je définis une string en tant que corps d'alerte (et enregistre le type de notification approprié), j'obtiens également une notification avec ce corps dans le coin supérieur droit, mais l'application: didReceiveRemoteNotification: n'est pas appelée.

J'espère que tu peux m'aider. Merci!

Je pense que c'est corrigé avec macOS Sierra. Travailler pour moi maintenant.

Edit: Oh wow: viens de remarquer que j'ai (!) Posé cette question il y a 1,5 ans. 🙂

Il suffit d'extraire la bonne solution de l'un des liens partagés: Si vous utilisez un CKNotificationInfo pour vos alertes, didReceiveRemoteNotification ne sera pas appelé sur le Mac tant que vous n'avez pas réglé CKNotificationInfo.soundName sur une string vide! Cela ressemble à un bug seulement dans OS X (10.10 & 10.11 jusqu'à présent) mais peut être travaillé par ce simple changement.