在我的PhoneGap 1.3離線應用程序中,我正在使用官方插件GitHub頁面中找到的已修改iOS本地通知插件。如何在不凍結UI的情況下安排多個本地通知?
根據用戶定義的設置,我需要安排一個重複通知(每週/每月),或每兩週觸發多個單一通知。
當我試圖計劃每隔2周觸發這26個通知時,就會出現問題。
目前我使用這個實現是:
for (int i = 1; i < 26; i++)
{
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil) {
return;
}
NSDate *date = [[NSDate date] dateByAddingTimeInterval: i * 60 * 60 * 24 * 7 * 2];
localNotif.fireDate = date;
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = [NSString stringWithFormat:@"%i: %@", i, msg];
localNotif.hasAction = NO;
localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];
}
當iPhone 3G或iPod Touch 2的UI凍結運行這個約3 - 第5秒,這是一個很大的不,不。有沒有優化日程安排通知的方法?
我知道只使用每週和每月重複通知可以解決問題,但客戶需要every 2 weeks
,every 2 months
和every 3 months
通知,所以我需要安排多個通知。
我試圖在使用[NSThread detachNewThreadSelector:...]
的新線程中運行循環,這引發了新的問題(偶爾會崩潰)。
3G之後發佈的iPhone是否會延遲/凍結快得多?我只有那兩個古代設備可以測試。
我已經嘗試過創建一個,然後當它被解僱時重新安排另一個。但問題是它只在應用程序運行或在後臺運行時才起作用。我的appDelegate的didReceiveLocalNotification我創建了一個新的通知並安排它。 「你的意思是」存儲一個重複的布爾,所以當它啓動時它也創建下一個「。一個例子非常感謝。 :) – micadelli
我只是純粹的說,如果你已經嘗試過,它不起作用,我相信你。 –