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

閱讀我的文本,我已經說過它沒有被調用,我甚至在你提出你自己的答案之前甚至在問題的下面的評論中告訴它 –

相關問題