有次我的應用程序的本地通知被觸發(顯示)兩次。我沒有使用模擬器,而是一個真實的設備。我一直試圖得到一個repro步驟,但我無法做到。每次我通過一個斷點/ nslog進行整個過程時,我總是會得到1個預定的通知。有了這個,我認爲我只會得到1通知顯示/解僱。不過,有時候我會收到兩個通知。 我在網上搜索了答案,我無法獲得更多信息。這裏有沒有人經歷過同樣的事情?你怎麼能解決這個問題?本地通知顯示兩次
- (void)scheduleAllNotifications
{
if (_isEnabled && [[NSUserDefaults standardUserDefaults] boolForKey:NotificationsUserDefaultsKey]) {
[self updateFireDates];
for (NSDate *fireDate in fireDates) {
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = fireDate;
notification.alertBody = @"Message";
notification.alertAction = @"View";
notification.soundName = @"notificationsound.mp3";
[notifications addObject:notification];
[[UIApplication sharedApplication]scheduleLocalNotification:notification];
}
}
}
- (void)cancelAllNotifications
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
[notifications removeAllObjects];
}
- (void)updateFireDates
{
[fireDates removeAllObjects];
NSDate *now = [NSDate date];
NSDate *fireDate = [NSDate dateWithTimeInterval:THREEDAYS sinceDate:now];
if (fireDate){[fireDates addObject:fireDate];}
}
cancelAllNotifications被稱爲每一個應用程序被激活 shceduleAllNotifications被稱爲每應用辭職時同時啓動
顯示您的代碼如何添加和檢查通知。 – Wain
我已經添加了我的代碼。實際上,感謝 – cessmestreet