4

有一个推送通知弹出窗口出现在新安装的应用程序上。有两种选择,好的和不允许的(如果我正确记得的话)。如果您在推送通知弹出窗口中单击“不允许”,什么是回拨方法?

我想知道什么是回拨方法,如果我点击“不允许”。事情是,我实现了didFailToRegisterForRemoteNotifications,因为我认为如果单击“不允许”,它会直接转到AppDelegate中的该方法。但是,该方法未被调用。

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

+1

didFailToRegisterForRemoteNotifications是与苹果注册服务通信失败时,没有办法知道用户是否点击了不允许,但是您可以查看UIApplication,有一种方法可以知道PushNotification注册状态 –

+0

您是否找到解决办法?我发布了花药问题http://stackoverflow.com/questions/22934729/how-do-i-know-if-user-didnt-allow-push-notifications –

回答

-3

没有委托回调然而从这里:Callback Method if user declines Push Notification Prompt?

你可以有一个布尔变量来检查它在你的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]; 
} 
+0

我明白了。所以没有办法解决我的问题。非常感谢你的回复。 – cessmestreet

+1

从另一个问题粘贴代码是不是一个答案 –

+0

@JeromeDiaz不需要生气杰罗姆,我引用原来的/ – Woodstock

-3
didFailToRegisterForRemoteNotifications 

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

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

didFailToRegisterForRemoteNotifications不会在用户点击否时被调用。 – Woodstock

+1

阅读我的文本,我已经说过它没有被调用,我甚至在你提出你自己的答案之前甚至在问题的下面的评论中告诉它 –

相关问题