В программе Talking Spoonya («Говорящий Спуня»), созданной в стенах i-Free, есть незамеченный разработчиками баг.
При первом старте, приложение начинает автоматическую загрузку дополнительного контента (набор анимаций для Спуни), после чего он сохраняется в системном кеше приложений. В дальнейшем приложение оперирует данными, сохраненными в кеше. Если же данные приложения удалить из кеша (к примеру, через программу PhoneClean), то программа аварийно завершает свою работу при попытке запуска:
Jan 19 12:11:33 iPad ReportCrash[209] <Notice>: Formulating crash report for process Talking Spooni[207] Jan 19 12:11:33 iPad com.apple.launchd[1] (UIKitApplication:com.i-free.talkingspoonya[0xc8d3][207]) <Warning>: (UIKitApplication:com.i-free.talkingspoonya[0xc8d3]) Job appears to have crashed: Abort trap: 6 Jan 19 12:11:33 iPad backboardd[31] <Warning>: Application 'UIKitApplication:com.i-free.talkingspoonya[0xc8d3]' exited abnormally with signal 6: Abort trap: 6 Jan 19 12:11:33 iPad ReportCrash[209] <Notice>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/Talking Spooni_2014-01-19-121133_iPad.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
Проблема заключается в том, что при запуске приложения необходимо всегда проверять целостность кеша, и если он по какой-то причине отсутствует, то загружать заново, как это делается при первом запуске. Вроде бы и кейс весьма частый, и реализовать проверку не сложно, но как видно, об этом забыли. Также ошибка проявляется, когда во время первой загрузки дополнительного контента свернуть приложение (данные в фоне не загружаются), а потом развернуть — процесс загрузки продолжится, но после того, как прогресс-бар покажет завершение загрузки, приложение также аварийно завершит работу.
А мне остается лишь сейчас взять и отправить отчет об ошибке в i-Free.
P.S. обойти проблему можно просто взяв и переустановив приложение.