1
我有2個問題。UILocalNotification repeatInterval
如果我理解本地通知按repeatInterval讓我有一個通知,安排一次,它在相同的時間間隔,每星期或一個月或一週中的哪一天重複。我試圖讓重複的間隔在星期二說出一次,每週它會在同一天即星期二再次觸發。這應該每週進行一次,而不需要安排另一個通知。那是對的嗎。沒有發生。我在代碼中做錯了什麼,或者我正在測試它錯誤。
在模擬器中,我運行應用程序安排通知。我看到的通知。然後,我退出應用程序,並將系統日期設置爲一週後的同一天的一週,但沒有通知,所以我可以通過更改計算機系統時鐘來測試此通知。我不想每個測試都要等一個星期。
下面是代碼
- (void) scheduleNotificationWithItem:(NSDate *)date interval:(int)frequency {
UILocalNotification *localNotif = [[UILocalNotification alloc]init];
if (localNotif == nil) {
return;
}
localNotif.fireDate = [date addTimeInterval:frequency];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.repeatCalendar = [NSCalendar currentCalendar];
localNotif.repeatInterval = kCFCalendarUnitWeekday;
localNotif.applicationIconBadgeNumber = 1;
localNotif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"%@.",nil),@"Weekly Reminder"];
localNotif.alertAction = NSLocalizedString(@"View Notification Details", nil);
localNotif.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication]scheduleLocalNotification:localNotif];
[localNotif release];
}
請幫助這是推動我瘋了。 謝謝, 院長
for#2,它可以在模擬器中工作,如果您在運行模擬器的任何設備(Macbook或其他Macs [或Hackintosh])上更改系統時鐘。我已經在5.1模擬器和6.0模擬器上測試過這個... – Cashew