UILocal通知未显示

时间:2012-02-22 19:10:14

标签: iphone ios5 uilocalnotification

我无法显示本地通知。我在iphone上测试。它们根本不显示,生成的日期似乎是在输入之前一小时。 19变为18,依此类推。

如何在考虑用户时区的情况下在7处启用这些本地通知?

   NSCalendar* myCalendar = [NSCalendar currentCalendar];
    NSDateComponents* components = [myCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[NSDate date]];
    [components setHour: 19];
    [components setMinute:00];
    NSDate *todayAt7 = [myCalendar dateFromComponents:components];



UILocalNotification *dailyNotification = [[UILocalNotification alloc] init];
dailyNotification.fireDate = todayAt7; // set this to 7pm 
dailyNotification.timeZone = [NSTimeZone defaultTimeZone]; 
dailyNotification.repeatInterval = NSDayCalendarUnit;
dailyNotification.soundName = UILocalNotificationDefaultSoundName;
dailyNotification.alertBody = @"You need to enter data for today.";

1 个答案:

答案 0 :(得分:1)

第一个问题是,当您创建组件实例时,您不需要小时和分钟组件。此外,您应该使用NSCalendar *myCalendar = [NSCalendar autoupdatingCurrentCalendar];而不是currentCalendar。

第二个问题,至少你没有显示它的代码,但你实际上并没有安排通知对象。请参阅[UIApplication scheduleLocalNotification:]