2013-11-04 58 views
0

您好,我正面臨一個奇怪的問題。其實我想在上午8:00安排每日通知(每天只有一次)。以下是我的計劃每日通知的代碼。每日UILocalNotification不止一次發射

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"HH:mm"]; 
NSDate *date = [[NSDate alloc] init]; 
date = [formatter dateFromString:@"08:00"]; 
UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
localNotification.fireDate = date; 
localNotification.timeZone=[NSTimeZone defaultTimeZone]; 
localNotification.alertBody = @"You just received a local notification"; 
localNotification.alertAction = @"View Details"; 
localNotification.soundName = UILocalNotificationDefaultSoundName; 
localNotification.repeatInterval = NSDayCalendarUnit; 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 
[formatter release]; 
[date release]; 

我的問題是,我收到2個本地通知。一個在上午8:00,另一個在上午10:00。爲什麼我在上午10點收到通知。我只在上午8:00安排它。我知道UILocalNotification庫在大多數蘋果設備上都有一些其他奇怪的問題/錯誤。我只想確認在我的代碼中是否存在一些錯誤,或者它是UILocalNotification庫的奇怪行爲。我不知道蘋果爲什麼不解決許多開發者關於UILocalNotification報道的問題。

注:我使用的Xcode 4.6和iOS 6.1

+0

:在您的日期添加上午/下午。那是你的問題。 [formatter setDateFormat:@「HH:mm a」];設置你的日期格式,如 – TamilKing

+0

嘗試'[[UIApplication sharedApplication] cancelAllLocalNotifications];'在你安排本地通知之前。而且,從內存管理的角度來看,你的代碼並不好。改變你的'NSDate * date = [[NSDate alloc] init]; date = [formatter dateFromString:@「08:00」];'將行與'NSDate * date = [formatter dateFromString:@「08:00」];',並移除'[date release]',並且也不要忘記在安排它後釋放你本地的通知對象。希望這可以幫助! –

回答

1

這將是BEST鏈接以獲得答案。

+0

這將是最好的評論..不作爲答案 –

相關問題