Applicazione non è riuscito a lanciare nel tempo, anche con un thread in background
-
09-10-2019 - |
Domanda
Sto controllando la raggiungibilità di rete in applicationDidFinishLaunching:
[self performSelectorInBackground:@selector(performReachabilityCheck) withObject:nil];
thread in background
-(void)performReachabilityCheck{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
internetReach = [[Reachability reachabilityForInternetConnection] retain];
[internetReach startNotifer];
[self updateInterfaceWithReachability: internetReach];
[pool release]; pool = nil;
}
Non sono sicuro che il motivo per cui la mia app non riesce a lancio in tempo?
Soluzione
È [self updateInterfaceWithReachability: internetReach];
aggiornare correttamente l'interfaccia utente nel thread principale? Se no, che potrebbe essere un problema.
In caso contrario, vorrei suggerire di fare in modo che il vostro applicationDidFinishLaunching:
sia correttamente tornando rapidamente come previsto.
Un'altra cosa da provare è quello di passare al debugger come l'applicazione sta sparando su ma prima che non è riuscita a lancio. Controllare il backtrace e assicurarsi che il ciclo degli eventi principale è in uno stato sensibile (come suona come non lo è).