Бен,
1. Store your time (NSDate) at the appropriate time.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSDate date] forKey:@"CheckedInTime"];
[defaults synchronize];
Когда ваше приложение снова станет активным:
(т.е.) -
(void) applicationDidBecomeActive: (UIApplication *) приложение
Запустите таймер, чтобы проверить, истекло ли время:
self.checkinTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(checkinTimerCheck:) userInfo:nil repeats:YES];
- (void) checkinTimerCheck:(NSTimer *) timer {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate * checkinTime = [defaults objectForKey:@"CheckedInTime"];
float hours = HOWEVER_MANY_HOURS_NEED_TO_PASS_TO_EXPIRE_IN_SECONDS;
if (hours < 0) {
[self alertUserThatTimeHasExpired];
}
}
Отменить проверку таймера всякий раз, когда ваше приложение получает
- (void)applicationWillResignActive:(UIApplication *)application
С уважением,
Ken