2012-04-02 1 views
0

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!

Répondre

1

Lire l'erreur:

'-[AppDelegate application:didFinishLaunchingWithOptions:]: unrecognized selector sent to instance 0x14d190'

délégué de votre application ne met pas en œuvre le
-application:didFinishLaunchingWithOptions: sélecteur!

Je n'utilise pas de vide téléphonique, donc je ne sais pas à quoi cela ressemble pour une application phonegap.

+0

Mon AppDelegate a implémenté 'didFinishLaunchingWithOptions'. L'application fonctionne bien lorsque je supprime le 'writeJavascript' et l'importation' PGPlugin.h ' – sissonb

+0

Désolé, j'ai mis le mauvais message d'erreur. Mis à jour dans la question. – sissonb