2017-02-22 2 views
0

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?

+0

activer les zombies et vérifier une fois –

+0

Comment activer les zombies? – sp309

+0

voir ce http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode –

Répondre

0

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.

+1

Comment avez-vous appris que son problème? –

+0

J'ai vérifié plusieurs fois. Il se bloque lors de l'exécution directe mais lorsque j'utilise le point d'arrêt, il ne plante pas. – sp309

+0

pouvez-vous poster quelques journaux pourquoi son écrasement ?? – vivek

0

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 

}); 
+0

Non, il ne résout pas problème .. @ ravi.p – sp309

+0

@ sp309 avez-vous essayé avec retard en utilisant le bloc? –

0

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.