Итак, NSXMLParserDelegate имеет метод parser:parseErrorOccurred:
, который предположительно вызывается при возникновении фатальной ошибки, поэтому вы можете отследить ее и решить, как поступить (вся информация, которую вы проанализировали до сих пор, доступна).
Я предполагаю, что происходит сбой, потому что анализатор не возвращает ожидаемое от него, поэтому, если вы поймете, что происходит ошибка, и попытаетесь исправить данные и / или заменить что-то необходимое, ваше приложение больше не должно аварийно завершать работу.