在全新安装的应用中会出现推送通知弹出窗口。有两个选择,OK和Do not Allow(如果我没记错的话。)
如果点击“不允许”,我想知道回调方法是什么。问题是,我实现了didFailToRegisterForRemoteNotifications,因为我认为如果单击“不允许”,它将直接进入AppDelegate中的该方法。但是,该方法未被调用。
我的问题是,当用户点击“不允许”时,我需要知道该事件。有没有办法做到这一点? 我很感激任何帮助。感谢。
答案 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
}