Да, локальные уведомления работают с симулятором. Однако убедитесь, что вы реализуете application:didreceiveLocalNotification
в своем делегате приложения, если хотите видеть уведомление, когда ваше приложение находится на переднем плане:
- (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"MyAlertView"
message:notification.alertBody
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
if (alertView) {
[alertView release];
}
}
В противном случае убедитесь, что вы запланировали уведомление на некоторое время в будущем, затем закройте приложение , чтобы увидеть образец работы Apple:
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil) return;
NSDate *fireTime = [[NSDate date] addTimeInterval:10]; // adds 10 secs
localNotif.fireDate = fireTime;
localNotif.alertBody = @"Alert!";
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];
Легко подумать, что вы не реализуете тестовый код правильно, и вы просто не обрабатываете событие во время работы приложения.