如果在推送通知弹出窗口中单击“不允许”,回调方法是什么?

时间:2013-10-31 10:52:13

标签: ios notifications push-notification apple-push-notifications

在全新安装的应用中会出现推送通知弹出窗口。有两个选择,OK和Do not Allow(如果我没记错的话。)

如果点击“不允许”,我想知道回调方法是什么。问题是,我实现了didFailToRegisterForRemoteNotifications,因为我认为如果单击“不允许”,它将直接进入AppDelegate中的该方法。但是,该方法未被调用。

我的问题是,当用户点击“不允许”时,我需要知道该事件。有没有办法做到这一点? 我很感激任何帮助。感谢。

2 个答案:

答案 0 :(得分:-3)

此处没有委托回调:Callback Method if user declines Push Notification Prompt?

您可以在AppDelegate中使用BOOL变量进行检查,

AppDelegate.m

// declare a BOOL 
BOOL allow = NO;

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
  allow = YES;
  [self doWhatever];
}

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
  allow = YES;
  [self doWhatever];
}

答案 1 :(得分:-3)

didFailToRegisterForRemoteNotifications 

当与苹果注册服务的通信失败时,没有办法知道用户只是点击了不允许,但你可以检查UIApplication,有一种方法可以知道PushNotification注册的状态

NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (rntypes == UIRemoteNotificationTypeNote) {
    // application is not registered for any type of push notification
}