2013-03-26 69 views
0

我不知道如何用下面的应用程序委托方法替换“方法”。如何调用此方法注册设备

视图 - 控制

[(AppDelegate *)[[UIApplication sharedApplication] delegate] method]; 

的appdelegate

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken { 
    TUPushHelper * helper = [[TUPushHelper alloc] initWithTokenData:devToken]; 
    [helper registerDevice]; 
} 

回答

2

你并不需要通过编程调用它。在调用UIApplication的registerForRemoteNotificationTypes:方法并且注册过程中没有错误之后,委托收到此消息。 didFailToRegisterForRemoteNotificationsWithError:将被调用,否则。

注册你的设备进行远程推送通知,你必须这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
... 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 
... 
} 

编辑: 检查苹果指南APNS here

也看看这个tutorial

+0

请问应用程序必须启动才能注册设备?我正试图设置一个switch语句来立即注销设备和注册设备。 – 2013-03-26 15:46:46

+0

这将在您的应用首次发布时完成。用户将被提示关于推送通知,他将允许\拒绝他们。 此外,您无法以编程方式取消注册远程通知,因为这样做没有意义。注册并不意味着您确实收到通知。 – 2013-03-26 15:50:25