local notifications
为我的应用程序 启用有点困难。
是的,我和一个local notification
女巫一起设置了我的项目,我想在应用程序关闭一周后安排我的时间。例如,如果用户在 8 号星期六打开应用程序,本地通知应该会在下一个星期六 15 号出现,但时间应该改变。例如,他/她在晚上 8 点关闭应用程序,我不想在下周晚上 8 点打扰他们,所以我想在下午 6 点或类似的时间显示每个通知。
现在您知道我的问题了,这是我正在使用的代码:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar] ;
NSDateComponents *componentsForReferenceDate = [[NSDateComponents alloc] init];
//set day (saturday)
[componentsForReferenceDate setDay:26] ;
[componentsForReferenceDate setMonth:1] ;
[componentsForReferenceDate setYear:2013] ;
[componentsForReferenceDate setHour: 17] ;
[componentsForReferenceDate setMinute:30] ;
[componentsForReferenceDate setSecond:00] ;
NSDate *fireDateOfNotification = [calendar dateFromComponents: componentsForReferenceDate];
// Create the notification
UILocalNotification *notification = [[UILocalNotification alloc] init] ;
notification.fireDate = fireDateOfNotification ;
notification.timeZone = [NSTimeZone localTimeZone] ;
notification.alertBody = [NSString stringWithFormat: @"Du wirst vermisst! \nDeine App braucht dich, schreibe sie zu Ende!"] ;
notification.alertAction = @"Zurückkehren";
notification.userInfo= [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"Some information"] forKey:@"information"];
notification.repeatInterval= NSWeekCalendarUnit ;
notification.soundName = @"Appnotifisound.wav";
notification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:notification] ;
}
我知道必须有更多的方法来删除徽章和didrecievenotification
,但我把它们放出来了,因为这并不重要。
使用此代码,我设法将通知安排在每个星期六下午5:30(德国)。但我只想安排一次,当时应用程序已经关闭了整整一周。这有可能吗?如果有人可以更正我的代码或为此提供解决方案,我会很高兴。
最好的问候,并感谢您阅读这篇长文,
诺亚