2015-12-11 46 views
7

由於幾個小時我們在iOS應用中出現了一個奇怪的問題:在iOS主屏幕上接收到的每個推送通知都會觸發/顯示相同的通知橫幅兩次,延遲時間爲2秒它們之間。每個推送通知橫幅在iOS9上顯示兩次

  • 它只發生在裝有iOS 9.x的設備上。在iOS 8.x設備上,一切仍然按預期工作。
  • 如果我在 - [AppDelegate應用程序:didReceiveRemoteNotification:fetchCompletionHandler:]中設置了一個斷點,則每個推送通知只調用一次。

而且我們的確在後臺沒有改變近期(至少一個弱),它也恰好爲這是已經發布的客戶端,我們是100%肯定,我們沒有看到過這個問題。

但是,我們改變了當前開發應用程序的Xcode的功能,並且必須生成新的配置文件作爲標記爲「無效」的舊配置文件。

對我們來說,它看起來像蘋果方面的問題。任何建議什麼更多的嘗試/檢查或做什麼?

回答

7

好像我有完全一樣的問題,因爲this dude有:我叫[registerUserNotificationSettings:]兩次。

要知道,當你想看到,如果你調用的方法一次或兩次,它可能不是那麼明顯:

我把它叫做一次在特定的UIViewController目的。不幸的是,我還在didFinishLauchingWithOptions:中每次都打電話給它。 不要讓自己被愚弄,因爲你只看到對話一次。

如果您想確保在-[AppDelegate application:didRegisterUserNotificationSettings:]中添加日誌輸出。在我的情況下,我在權限對話框上點擊OK後調用了兩次回調。

由於我刪除didFinishLauchingWithOptions:中的錯位調用,我沒有看到雙重通知。

3

我提交了一個bug報告給蘋果(門票#23569779)和問題似乎已在iOS的9.2.1測試版被糾正(編譯:13D11)

我正經歷上iOS9.1同樣的問題( Build:13B143)和iOS9.2(Build:13c75),可用於跨多個應用的​​本地和遠程通知。

我重新創建問題的最簡單方法是在應用程序背景時在我的應用程序委託中安排本地通知。

- (void)applicationDidEnterBackground:(UIApplication *)application { 

    UILocalNotification *notification = [[UILocalNotification alloc] init]; 

    notification.repeatInterval = NSDayCalendarUnit; 
    [notification setAlertBody:@"My test."]; 
    [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; 
    [notification setTimeZone:[NSTimeZone defaultTimeZone]]; 
    [application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]]; 
} 

這將導致該通知的橫幅出現兩次:

Duplicate banner images

+0

您的錯誤報告單已關閉和/或評論嗎?如果您可以將票據提交給[OpenRadar](https://openradar.appspot.com),那將非常有用!我有這個相同的問題,並會喜歡官方的評論,它已被修復。 – pkamb

+0

錯誤報告已關閉,問題在iOS 9.2.1 beta(Build:13D11)中修復。 – gatlinhebert

+0

我在iOS 9.3.5中遇到這個問題,任何人有任何更新相同? –