2014-11-01 160 views
0

經過一年多的PushSharp問題,我們的iOS應用用戶突然不再收到任何推送通知。應用程序和APN證書仍然有效,我們的服務器端沒有任何更改。蘋果推送通知不再到達

爲了確保我創建了一個新的APN生產證書並將其上傳到我們的推送服務器,但沒有任何幫助。

此外,我測試了Mac OS X商店中的兩個獨立推送通知測試器應用程序(它們讓您添加證書,令牌和有效內容),並嘗試從那裏發送自己的推送消息。所有嘗試的結果都是響應:「有效負載已推送」,「發送推送消息」。

我的iPhone拒絕接收任何推送通知和所有其他設備。我不知道出了什麼問題,或者我可以如何調試這個問題,因爲我的服務器沒有從Apple推送通知服務器檢索到任何錯誤。它總是看起來像郵件已發送到蘋果,但蘋果似乎並沒有將它們發送到用戶的設備。

這怎麼可能?發生了什麼事?

回答

1
+0

如果PushSharp和這兩個OS X推測試者使用SSL3,這可能是可能的。我怎麼能找到這個? – andreas 2014-11-02 16:19:47

+0

確實是這個問題,謝謝。我甚至不知道這一點,似乎PushSharp已經更新了他們的庫來修復它! 我非常不幸的是,這兩個工具(我從OS X商店測試)都沒有解決這個問題,所以我認爲還有一個問題。 – andreas 2014-11-02 21:52:17

1

這可能是因爲,作爲iOS的8,蘋果已經改變了推送通知在您的應用程序註冊的方式。新方法是:

if([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) { 
     [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; 
     [[UIApplication sharedApplication] registerForRemoteNotifications]; 
    } 
    else { 
     [[UIApplication sharedApplication] registerForRemoteNotificationTypes: 
     (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; 
    } 
+0

我的其中一臺設備使用iOS7,但不會收到通知,所以我無法想象這是問題所在? – andreas 2014-11-02 16:18:29