Swift lire userInfo de notification à distance
J'ai implémenté une fonction pour ouvrir un AlertView quand je reçois une notification à distance comme ceci:
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]){
var notifiAlert = UIAlertView()
var NotificationMessage : AnyObject? = userInfo["alert"]
notifiAlert.title = "TITLE"
notifiAlert.message = NotificationMessage as? String
notifiAlert.addButtonWithTitle("OK")
notifiAlert.show()
}
Mais NotificationMessage est toujours nul.
Mon json charge utile ressemble à ceci:
{"aps":{"alert":"Testmessage","badge":"1"}}
Je suis en utilisant Xcode 6, Swift et je suis en train d'élaborer pour iOS8.
J'ai cherché des heures maintenant, mais je n'ai pas trouver toutes les informations utiles.
Les Notifications fonctionne parfaitement.. et si je clique dessus, la alertview s'ouvre.
Mon problème est que je ne suis pas en mesure d'obtenir les données de userInfo.
Vous devez vous connecter pour publier un commentaire.
Niveau de la racine de l'élément de la
userInfo
dictionnaire est"aps"
, pas"alert"
.Essayez ce qui suit:
Voir Push Notification De La Documentation
Pour moi, quand j'ai envoyer le message à partir de Accengage, le code suivant fonctionne -
La seule différence de Craing Stanford réponse est la
key
j'ai utilisé pour extraire le message dealert
instance qui estbody
qui est différent. Voir ci-dessous pour plus d'clearification -vs
Méthode (Swift 4):
Utilisation:
J'utilise un Apn de Fournisseur et de la charge utile json comme ci-dessous
Imputable au fournisseur provient comme un JSON-dictionnaire défini par iOS convertit à une
NSDictionary
objet, sans indice, commeDictionary
, mais peut utiliservalue(forKey:)
De référence de ici
C'est ma façon de Swift 4