Когда я запускаю свое приложение с помощью точки останова, он работает нормально и не дает никаких ошибок, но когда я удаляю точку останова и rut, он падает. И это не сбой на симуляторе и сбои на устройстве. Так в этом случае, как найти ошибку?Приложение вылетает, если я запускаю приложение без каких-либо точек останова, но когда я запускаю с помощью точек останова, он отлично работает в ios. Как проверить проблему?
ответ
Это вопрос нить .. попытаться
runOnMainQueueWithoutDeadlockingUpload(^{
//Do stuff
});
void runOnMainQueueWithoutDeadlockingUpload(void (^block)(void))
{
if ([NSThread isMainThread])
{
block();
}
else
{
dispatch_sync(dispatch_get_main_queue(), block);
}
}
тяжелой задаче, которую вы делаете во время запуска приложения.
это очень просто, когда у положить точку останова это не врезаться и не BreakPoint это крах так, что код у есть выполнить положить некоторую задержку, то она разрешит
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
});
Нет, он не решает проблему .. @ ravi.p – sp309
@ sp309 У вас есть попытка с задержкой использовать блок? –
что-то происходит не так в асинхронном нить, и в особых случаях другая нить работает медленно! Вам нужно проверить эти случаи.
включить зомби и проверить один раз –
Как включить зомби? – sp309
см. Этот http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode –