我目前正在开发一个iPhone项目。 我想从现在开始三天之后发出本地通知。
任何人都可以帮我实现这个目标吗?
提前致谢。
答案 0 :(得分:1)
只是从这里的其他答案更新。
60 * 60 * 24不是一天,不应该用来表示一天。
如果您想在三天内完成日期,那么您可以使用NSCalendar ...
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [NSDateComponents new];
components.day = 3;
NSDate *threeDaysTime = [calendar dateByAddingComponents:components toDate:now options:0];
这是如何计算三天的时间。使用60 * 60 * 24是不正确的。
答案 1 :(得分:0)
您可以随时安排,从当前时间开始,
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:(60*60*24*3)]; //60 seconds* 60 minutes * 24 hours * 3 days
localNotification.alertBody = [NSString stringWithFormat:@"Set your message",locations];
localNotification.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
更新1
有关用户通知的权限,您必须在App Delegate中设置,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
return YES;
}
HTH,享受编码!!