Отчет о сбое iOS неожиданное исключение состояния запуска?

Я нашел несколько отчетов о сбоях с причиной unexpected start state. Мой код выглядит так:

NSRange range = [content rangeOfString:@"<html>"];

if (range.location != NSNotFound) {
    NSString *htmlStr = [content substringFromIndex:range.location];

    NSAttributedString *attStr = [[NSAttributedString alloc] initWithData:[htmlStr dataUsingEncoding:NSUnicodeStringEncoding] options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil];

    return attStr.string;
}

Отчет о сбое выглядит так:

введите описание изображения здесь


person tom lider    schedule 23.10.2017    source источник
comment
Похоже, данные, которые вы загружаете, недействительны, повреждены или не могут быть проанализированы. Как насчет try/catch для вашего загрузчика документов с обработчиком ошибок?   -  person brandonscript    schedule 23.10.2017
comment
Спасибо большое. Я попробую это, чтобы увидеть, играет ли это роль   -  person tom lider    schedule 24.10.2017
comment
У меня аналогичная проблема, где вы можете это решить?   -  person dmlebron    schedule 01.05.2018
comment
Ваш html действителен? Вы вызываете этот код в основном потоке?   -  person wottle    schedule 03.05.2018
comment
Да, он вызывается в основном потоке и HTML, который я предполагаю. Я не могу воспроизвести это.   -  person dmlebron    schedule 07.05.2018
comment
@tomlider Вы нашли решение для этого, я тоже столкнулся с той же проблемой.   -  person Amit    schedule 12.06.2018
comment
То же самое. Любые обновления? Я не могу это воспроизвести.   -  person Hackmodford    schedule 11.08.2018
comment
stackoverflow. ком/вопросы/20730326/   -  person Renetik    schedule 10.12.2018


Ответы (1)


Просто вызовите свою функцию в фоновом потоке:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
    // here, call your function

    dispatch_async(dispatch_get_main_queue(), ^{
        // do updates on main thread
    });
});
person Ganpat    schedule 27.08.2019
comment
Обратитесь к документации: Инструмент импорта HTML не должен вызываться из фонового потока - person shim; 18.10.2020