如何在APNS中发送设备令牌

时间:2009-09-02 13:58:10

标签: iphone apple-push-notifications

我已经实现了以下代码但没有获得设备令牌?

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NSLog(@"deviceToken: %@", deviceToken);
}

3 个答案:

答案 0 :(得分:4)

如果您还没有,请拨打registerForRemoteNotificationTypes中的didFinishLaunchingWithOptions。有点像:

[[UIApplication sharedApplication]
     registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                         UIRemoteNotificationTypeSound |
                                         UIRemoteNotificationTypeAlert)];

如果注册失败,您还应该调用didFailToRegisterForRemoteNotificationsWithError方法。它得到的NSerror应该告诉你更多关于它可能失败的原因。

答案 1 :(得分:1)

你在试用模拟器吗? 推送通知和相关的appdelagate事件在模拟器上不起作用。

如果您使用的是设备, 确保应用程序的软件包标识符必须与您在iphone privisioning protal上创建AppID时定义的push ssl软件包标识符相同。

答案 2 :(得分:0)

要使用APN注册您的设备,您首先必须致电

    [[UIApplication sharedApplication]
 registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

这通常写在你的AppDelegate中(在didFinishLaunching中)。 然后确保你已经实现了

didRegisterForRemoteNotificationsWithDeviceToken 

为您提供设备令牌和

didFailToRegisterForRemoteNotificationsWithError

它会为您提供代码可能遇到的错误。