J'essaye de copier le deviceToken utilisé par Urban Airship à localStorage dans la méthode didRegisterForRemoteNotificationsWithDeviceToken
.Copier le périphériqueToken de Objective C en JavaScript
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
UALOG(@"APN device token: %@", deviceToken);
[[UAPush shared] registerDeviceToken:deviceToken];
NSString *jsStatement = [NSString stringWithFormat:@"localStorage.setItem('deviceToken', '%@');", deviceToken];
UALOG(@"%@", jsStatement);
[super writeJavascript:jsStatement];
}
La méthode writeJavascript est définie dans <PhoneGap/PGPlugin.h>
que j'importer dans mon AppDelegate.m
qui provoque cette erreur,
InstallerAppApple[10848:707] -[AppDelegate writeJavascript:]: unrecognized selector sent to instance 0x15e600
Ce que je pense que je dois faire est de sauver la deviceId à la mémoire objective-c, puis écrire un plugin qui renvoie cette valeur sauvegardée. Comment sauvegarder ce deviceId dans un espace global auquel j'aurai accès dans ma méthode plugin? Comment obtenir et définir des valeurs globales dans l'objectif c? Existe-t-il un meilleur moyen d'accéder à l'ID de périphérique avec PhoneGap?
Merci!
Mon AppDelegate a implémenté 'didFinishLaunchingWithOptions'. L'application fonctionne bien lorsque je supprime le 'writeJavascript' et l'importation' PGPlugin.h ' – sissonb
Désolé, j'ai mis le mauvais message d'erreur. Mis à jour dans la question. – sissonb