如果在推送通知弹出窗口中单击"Don't Allow",回调方法是什么?


全新

安装应用程序时会出现一个推送通知弹出窗口。有两个选择,确定和不允许(如果我没记错的话。

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

我的问题是我需要知道用户单击"不允许"时的事件。有没有办法做到这一点?我将不胜感激任何帮助。谢谢。

但是从这里开始没有委托回调:如果用户拒绝推送通知提示,回调方法?

您可以使用 BOOL 变量在您的 AppDelegate 中检查它,

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

就是当与苹果注册服务沟通失败时,没有办法知道一个用户刚刚点击了不允许,但是可以查看UIApplication,有一种方法可以知道推送通知注册的状态

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

相关内容

最新更新