UILocalNotification *notification=[[UILocalNotification alloc] init];
if (notification!=nil) { NSDate *now=[NSDate new]; //notification.fireDate=[now addTimeInterval:period]; notification.fireDate = [now dateByAddingTimeInterval:period]; NSLog(@"%d",period); notification.timeZone=[NSTimeZone defaultTimeZone]; notification.soundName = @"ping.caf"; //notification.alertBody=@"TIME!"; notification.alertBody = [NSString stringWithFormat:@"@%时间到了!",nameStr]; NSDictionary* info = [NSDictionary dictionaryWithObject:uniqueCodeStr forKey:CODE]; notification.userInfo = info; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; } 设置的时间到了以后,会自动在桌面弹出一个提示框,点显示后,就可以启动软件。然后在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (localNotif) { NSLog(@"Recieved Notification %@",localNotif); NSDictionary* infoDic = localNotif.userInfo; NSLog(@"userInfo description=%@",[infoDic description]); NSString* codeStr = [infoDic objectForKey:CODE]; } }里,对lanchOptions进行处理,找到它里面的信息,就可以拿到设置时的需要处理的东西,就可以继续操作了。 如果此时你的客户端 软件仍在打开,则会调用 - (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif { } 一样的处理方法。