全新安装应用程序时会出现一个推送通知弹出窗口。有两个选择,确定和不允许(如果我没记错的话。)
如果我单击“不允许”,我想知道什么是回调方法。问题是,我实现了 didFailToRegisterForRemoteNotifications,因为我认为如果我单击“不允许”,它将直接转到 AppDelegate 中的该方法。但是,没有调用该方法。
我的问题是当用户点击“不允许”时我需要知道事件。有没有办法做到这一点?我会很感激任何帮助。谢谢。
全新安装应用程序时会出现一个推送通知弹出窗口。有两个选择,确定和不允许(如果我没记错的话。)
如果我单击“不允许”,我想知道什么是回调方法。问题是,我实现了 didFailToRegisterForRemoteNotifications,因为我认为如果我单击“不允许”,它将直接转到 AppDelegate 中的该方法。但是,没有调用该方法。
我的问题是当用户点击“不允许”时我需要知道事件。有没有办法做到这一点?我会很感激任何帮助。谢谢。
但是从这里没有委托回调:Callback Method if user denied Push Notification Prompt?
你可以有一个 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,有一个方法可以知道 PushNotification 注册的状态
NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (rntypes == UIRemoteNotificationTypeNote) {
// application is not registered for any type of push notification
}