CloudKit - Notifications
Bonjour,
Je galère avec les remote silent notifications...
Globalement, ça fonctionne lorsque mon iPhone et mon iPad sont tous les deux connectés à Xcode. Donc la subscription existe et est bien déclarée ; je la vois sur le dashboard.
Mais lorsque je fais tourner l'application sur l'iPhone et l'iPad sans Xcode :
- lorsque je mets à jour un CKRecord dans l'application iPhone, il se met bien à jour sur le Cloud (je le vois dans les logs de CloudKit dashboard)
- la remote notification est bien émise par les serveurs d'Apple (cf capture d'écran)
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonsoir,
Je me réponds à moi-même !
ça fonctionne... Je ne suis pas sûr à 100% du pourquoi, mais c'est probablement lié à une remise à zéro des subscriptions, à la fois sur le cloudKit dashboard et via une requête "fetchAllSubscriptions" avec suppression des subscriptions avant de les recréer.
Bonne fin de WE,
Cordialement,
Nicolas
Bonsoir,
Ben non, je m'arrache toujours les cheveux !
Dans ce que j'arrivais à faire marcher, il ne s'agissait pas réellement d'une notification silencieuse, puisque "shouldbadge" était à "true".
J'ai recréé une nouvelle application qui ne fait que :
- créer la zone dans la private database
- créer une subscription pour toute modification apportée à cette zone
- lorsqu'une notification arrive, le viewController met à jour un label avec un compteur qui s'incrémente
Lorsque l'iPhone et l'iPad font fonctionner l'app à partir de xCode, tout va bien ; lorsque je crée un "record" à partir du "cloud kit dashboard", la notification arrive bien instantanément sur les deux iDevices et le label se met à jour.
Lorsque je fais fonctionner l'app en autonome sur iPhone et iPad, la notification push est bien créée (je la vois sur le dashboard"), mais elle ne semble pas arriver sur les iDevices. Ou alors parfois au bout d'un temps qui se compte en plusieurs heures. Alors que les deux iDevices sont branchés, connectés, allumés...
Le code pour l'AppDelegate :
Et pour le viewController
Les réglages dans "capabilities" sont conformes à ce que j'ai lu partout :
- iCloud : avec CloudKit activé et le default container
- Push notifications
- Background modes avec background fetch et remote notifications
J'ai vu la vidéo WWDC17 sur le cloud kit dashboard : lorsque l'intervenant met à jour quelque chose dans le dashboard, la mise à jour sur l'iPhone est instantanée.
Questions :
- est-ce que je rate quelque chose ?
- ou bien est-ce qu'il normal qu'une notification mette des heures ou des jours à arriver ? Et encore, je n'en suis même pas sûr !
Mille mercis pour toute aide !
Cordialement,
Nicolas
Bonsoir,
Bon, je vois que ça n'inspire pas grand monde.
Si jamais quelqu'un(e) pouvait tester et confirmer si les notifications arrivent rapidement ou pas ? Je désespère
Thanks !
Nicolas