我正在尝试在didRegisterForRemoteNotificationsWithDeviceToken方法中将Urban Airship使用的deviceToken复制到localStorage。

- (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];
}


我在<PhoneGap/PGPlugin.h>中导入的AppDelegate.m中定义了writeJavascript方法,这会导致此错误,

InstallerAppApple[10848:707] -[AppDelegate writeJavascript:]: unrecognized selector sent to instance 0x15e600


我想我需要做的是将deviceId保存到Objective-C的内存中,然后编写一个插件来返回保存的值。

如何将deviceId保存到我的插件方法中可以访问的全局空间?如何在目标c中获得并设置全局值?是否有更好的方法通过PhoneGap访问deviceId?

谢谢!

最佳答案

读取错误:


  '-[AppDelegate应用程序:didFinishLaunchingWithOptions:]:无法识别的选择器已发送到实例0x14d190'


您的应用程序的委托未实现-application:didFinishLaunchingWithOptions:选择器!

我不使用电话间隙,所以我不知道电话间隙应用程序的外观。

10-08 18:53