Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Application Specific Information: Application failed to launch in time (iOS)?

Tags:

ios

iphone

launch

This is on the top of one of my crash reports. Is there any App Launch timeout limit determined by Apple? Any common workaround if so?

Elapsed total CPU time (seconds): 13.700 (user 8.580, system 5.120), 67% CPU 
Elapsed application CPU time (seconds): 6.180, 30% CPU

On an iPhone 3G.

I have to split/delay my launching tasks maybe...

like image 629
Geri Borbás Avatar asked Dec 28 '22 06:12

Geri Borbás


1 Answers

I think it has to launch within 5 (or maybe 10) seconds or the iPhone assumes it has crashed.

Try to avoid loading a lot of stuff on your main thread at launch. If you need to load a lot of stuff do it on a background thread, like this:

- (void)startLoading
{
    //call this in your app delegate instead of setting window.rootViewController to your main view controller
    //you can show a UIActivityIndiocatorView here or something if you like

    [self performSelectorInBackground:@selector(loadInBackground)];
}

- (void)loadInBackground
{
    //do your loading here
    //this is in the background, so don't try to access any UI elements

    [self performSelectorOnMainThread:@selector(finishedLoading) withObject:nil waituntilDone:NO];
}

- (void)finishedLoading
{
    //back on the main thread now, it's safe to show your view controller
    window.rootViewController = viewController;
    [window makeKeyAndVisible];
}
like image 78
Nick Lockwood Avatar answered Jan 20 '23 02:01

Nick Lockwood