Lorsque je lance mon application en utilisant le point d'arrêt il fonctionne bien et ne donne pas d'erreur, mais quand je supprime breakpoint et rut, il se bloque.Et il ne plante pas sur le simulateur et se bloque sur le périphérique.So comment trouver l'erreur?App se bloque si je cours l'application sans points d'arrêt, mais quand je cours en utilisant des points d'arrêt, il fonctionne bien dans ios.Comment vérifier problème?
Répondre
Il est une question de fil .. essayer de
runOnMainQueueWithoutDeadlockingUpload(^{
//Do stuff
});
void runOnMainQueueWithoutDeadlockingUpload(void (^block)(void))
{
if ([NSThread isMainThread])
{
block();
}
else
{
dispatch_sync(dispatch_get_main_queue(), block);
}
}
pour lourde tâche que vous faites lors du démarrage de l'application.
il est très simple quand u mettre point de rupture, il ne tombe en panne et sans point d'arrêt, il est crash donc quel code u sont exécuter mettre un peu de retard, alors il résoudra
double delayInSeconds = 1.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
// Add Your code here
});
Non, il ne résout pas problème .. @ ravi.p – sp309
@ sp309 avez-vous essayé avec retard en utilisant le bloc? –
Quelque chose se passe mal dans async fil et dans des cas spéciaux d'autres threads travaillent lentement! Vous devez vérifier ces cas.
activer les zombies et vérifier une fois –
Comment activer les zombies? – sp309
voir ce http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode –