2013-04-03 3 views
0

Следующее this tutorial, я установил свое приложение iPad в тайм-аут через полчаса.applicationDidTimeout несовместимо

Это прекрасно работает на Xcode на симуляторе или iPad, подключенном к Mac. Однако, если я отключу iPad от Mac и вернусь обратно в свое приложение, он больше не истечет.

Я надеялся, что кто-то сможет пролить свет на то, почему это происходит.

AppDelegate.m

-(void)applicationDidTimeout:(NSNotification *) notif 
{ 
    NSLog (@"time exceeded!!"); 

    UIViewController *controller = [[UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:NULL] instantiateViewControllerWithIdentifier:@"mainView"]; 

    [(UINavigationController *)self.window.rootViewController pushViewController:controller animated:YES]; 
} 

TIMERUIApplication.h

@interface TIMERUIApplication : UIApplication 
{ 
    NSTimer  *myidleTimer; 
} 

-(void)resetIdleTimer; 

TIMERUIApplication.m

-(void)sendEvent:(UIEvent *)event 
{ 
    [super sendEvent:event]; 

    if (!myidleTimer) 
    { 
     [self resetIdleTimer]; 
    } 

    NSSet *allTouches = [event allTouches]; 
    if ([allTouches count] > 0) 
    { 
     UITouchPhase phase = ((UITouch *)[allTouches anyObject]).phase; 
     if (phase == UITouchPhaseBegan) 
     { 
      [self resetIdleTimer]; 
     } 

    } 
} 
-(void)resetIdleTimer 
{ 
    if (myidleTimer) 
    { 
     [myidleTimer invalidate]; 
    } 
    int timeout = kApplicationTimeoutInMinutes * 60; 
    myidleTimer = [NSTimer scheduledTimerWithTimeInterval:timeout target:self selector:@selector(idleTimerExceeded) userInfo:nil repeats:NO]; 

} 

-(void)idleTimerExceeded 
{ 
    isLoggedIn = FALSE; 
    numberOfFIlesAlreadyDownloaded = 0; 
    numberOfFilesToBeDownloaded = 0; 
    [[NSNotificationCenter defaultCenter] postNotificationName:kApplicationDidTimeoutNotification object:nil]; 
} 

ответ

0

Некоторые далее экспериментируя сужен это немного вниз к IPad Auto-Lock.

Когда iPad уходит спать, приложение также означает, что таймер прерывается.

Подключение iPad к отключенному автоматическому блокировке Mac, поэтому я заметил это только на отключенном iPad.

Смежные вопросы