L'applicazione del mio iPhone si blocca occasionalmente la prima volta che viene eseguita dopo l'installazione. Dopo questo, ogni volta che provo a eseguire l'app, rimane sullo splash screen o persino su uno schermo nero finché alla fine non muore. Devo riavviare il dispositivo per far funzionare l'applicazione. Dopo questo funziona bene ogni volta. L'unica modifica tra il codice OS3 e 4 è la proprietà 'UIApplicationExitsOnSuspend' per forzare il caricamento della app ogni volta invece che la sospensione. Qualsiasi aiuto sarebbe grande.Arresto dell'applicazione iPhone (solo iOS4)
Qui ci sono i frammenti di due codici:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
taskListViewController = [[TaskListViewController alloc] initWithNibName:@"TaskListView" bundle:nil];
taskListViewController.managedObjectContext = self.managedObjectContext;
[taskListViewController setAppDefaults];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:taskListViewController];
[taskListViewController release];
navController.navigationBar.tintColor = [UIColor blackColor];
[window addSubview:[navController view]];
[window makeKeyAndVisible];
}
- (void)viewDidLoad
{
NSLog(@"viewDidLoad - Start");
[super viewDidLoad];
NSError *error = nil;
if(![[self fetchedResultsController] performFetch:&error])
{
NSLog(@"Error with initial fetch %@, %@", error, [error userInfo]);
}
[activityIndicator startAnimating];
self.navigationItem.leftBarButtonItem.enabled = NO;
self.navigationItem.rightBarButtonItem.enabled = NO;
infoButton.enabled = NO;
syncButton.enabled = NO;
taskListTable.userInteractionEnabled = NO;
taskListTable.allowsSelection = NO;
checkingRecovery = true;
[self insertCheck];
}
Altri metodi di cui sopra:
[taskListViewController setAppDefaults]
[self insertCheck];
setAppDefaults - Enumera attraverso le impostazioni del pacchetto applicando le defaultValues per NSUserDefaults se non sono già stati impostati dall'utente in peferences.
insertCheck - Esegue alcune query sul db per garantire l'integrità del file sulle registrazioni audio, ma in questo caso poiché è la prima volta che viene caricata l'app non farà nulla.
Aggiornamento:
Ho commentato le chiamate di metodo in più (i due di cui sopra) e sto ancora avere il problema.
Ho trovato alcune persone che hanno lo stesso tipo di problema sul forum degli sviluppatori di Apple senza soluzioni. Una risposta proveniva da un utente con lo stesso problema ma l'applicazione è stata approvata nell'app store.
Grazie Sj
Si consiglia di modificare il proprio post per includere il codice per ciò che accade nei metodi 'applicationDidFinishLaunching' e' viewDidLoad'. Inoltre, assicurati di non avere 'NSLogs' con stringhe di formato dati errate (% d quando dovrebbe essere un% @ per esempio), quelle possono causare un arresto anomalo senza che vengano visualizzati messaggi di errore. – iwasrobbed
Il caricamento della finestra sembra normale, direi se non è dovuto alle impostazioni predefinite dell'utente, avviare il debug attraverso il codice di controllo del database oi risultati del recupero iniziale. – iwasrobbed