Je suis capable d'utiliser la méthode de rappel didRegisterForRemoteNotificationWithDeviceToken pour obtenir le jeton de périphérique de mon iphone lorsque je m'abonne aux notifications push. Ma question est comment puis-je obtenir ce jeton plus tard? Quand un utilisateur s'abonne à quelque chose dans mon application, je veux envoyer le jeton de l'appareil et l'identifiant de l'objet auquel il s'abonne ... mais je n'arrive pas à savoir d'où obtenir le jeton d'appareil. J'ai essayé d'utiliser l'uniqueIdentifer de la classe UIDevice mais cette valeur est différente de celle du jeton d'origine. Je suppose que je pourrais appeler registerForRemoteNotificationTypes chaque fois que mon application commence à produire le jeton. Mais si je fais cela, je ne sais pas comment je peux accéder à cette valeur à partir d'une classe différente (mon rappel didRegisterForRemoteNotificationWithDeviceToken se trouve dans le délégué de l'application principale). Merci pour toute aide pour un débutant objectif C!Comment demander un jeton de périphérique sur l'iphone
2
A
Répondre
5
Je voudrais définir une propriété dans votre appDelegate qui peut être accessible à partir de n'importe où, et le définir sur le jeton de périphérique.
// .h
@interface SomeAppDelegate : NSObject <UIApplicationDelegate> {
NSString * dToken;
}
@property (nonatomic, retain) NSString * dToken;
// .m
@implementation SomeAppDelegate;
@synthesize dToken;
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSString * token = [[NSString alloc] initWithData:deviceToken encoding:NSUTF8StringEncoding];
[self setDToken:token];
[token release];
}
- (void)dealloc {
[dToken release]
[super dealloc];
}
Vous pouvez accéder à ce jeton partout en utilisant:
NSString * token = [(SomeAppDelegate*)[[UIApplication sharedApplication] delegate] dToken];
Questions connexes
- 1. Pousser un jeton de périphérique de notification?
- 2. comment obtenir un jeton de périphérique d'apns à l'appareil?
- 3. Envoyer un jeton de périphérique avec HTTP POST
- 4. APNS - Obtention du jeton de périphérique
- 5. Quand un jeton de périphérique est-il affecté?
- 6. Comment demander un login?
- 7. Comment puis-je générer un jeton de périphérique utilisé pour la notification push Apple?
- 8. comment obtenir périphérique jeton en utilisant l'application Iphone et d'autres informations sur l'appareil?
- 9. Comment détecter un périphérique sur le réseau?
- 10. Comment localiser un périphérique sur le réseau?
- 11. Débogage sur un périphérique iPhone
- 12. envoyer un jeton de périphérique au serveur à partir du service de notification push Apple
- 13. Serveur de licence Android sur un périphérique
- 14. APNS génèrera-t-il un nouveau jeton d'unité à chaque fois pour un seul périphérique?
- 15. Comment automatiser l'importation de certificats sur un périphérique Windows CE?
- 16. Comment utiliser Objective C pour envoyer un jeton de périphérique pour les notifications push et d'autres paramètres utilisateur vers la table sql sur le serveur
- 17. Comment exécuter un script sur un périphérique monté dans OSX
- 18. Générer un jeton LTPA?
- 19. Comment demander OpenGL pour les capacités de périphérique graphique (texture2DArray, modes anti-alias pris en charge)
- 20. Programmation d'un périphérique USB sur un Mac
- 21. Demander la permission sur f5
- 22. demander un modèle de conception
- 23. Comment obtenir un contexte de périphérique d'imprimante?
- 24. rails in_place_edit: comment transmettre un jeton d'authenticité?
- 25. Installer l'application ipad sur un périphérique supplémentaire
- 26. Sélectionnez un périphérique audio sur l'iPhone
- 27. Demander un délai d'expiration
- 28. Comment déboguer sur un périphérique réel (en utilisant Eclipse/ADT)
- 29. Comment savoir sur quel port un périphérique USB est branché?
- 30. Utilisation de FolderBrowserDialog sur un périphérique amovible/un stockage amovible
Merci pour la réponse. Je suis en mesure de définir la variable dans le délégué et de le récupérer en utilisant [self deviceId] à partir de la classe de délégué. Cependant, lorsque j'essaie de le récupérer en utilisant le code que vous avez fourni, cela ne fonctionne pas. L'application compile, mais quand elle arrive à cette ligne, j'obtiens une erreur "EXC_BAD_ACCESS" sans autre information. J'ai beaucoup de problèmes avec la syntaxe de l'objectif c et l'absence d'un message d'erreur raisonnable rend cela très difficile à comprendre. Toute aide serait grandement appréciée. – Greg
Peu importe, je l'ai eu à travailler. Je ne sais pas pourquoi mais quand je n'ai pas sorti le token String ça a bien fonctionné sans aucun problème. – Greg