Если программа падает, то креш-репорт можно отправить в Apple, но
нельзя почитать самому. Apple чешется уже много лет, но пока ничего не
начесал. Как следствие, есть уже несколько готовых фреймворков,
которые берут эту грязную работу на себя. О них-то я и хотел
поговорить.
Первое, что я встретил, было ILCrashReporter (www.infinite-loop.dk)
встретил я его в Диминых Memoires, подключил, заюзал и столкнулся с
двумя траблами:
1. Репорты отправляются по почте (привет, спам-фильтры)
2. Под леопардом отправляется вообще не то, что надо (там креш-логи в
другом месте лежат).
Начал искать дальше, нашел форк ILCrashReporter'а -
ILCrashReporter-ng, где проблема с леопардом была, вроде как решена,
но отчеты все равно отправлялись по почте.
Дальнейший поиск привел на сайт
http://vafer.org/projects/feedbackreporter/, где нашелся очень даже
приличный фреймворк, который умеет отправлять репорты по HTTP.
Пришлось поучаствовать в разработке (да, заодно я освоил git :), но в
целом получилось очень даже ничего. Автор отзывчивый и обещает скоро
выпустить еще более хороший релиз.
В итоге я дальше искать не стал, остановился на FeedbackReporter'е.
Теперь вот ищу удобный скрипт "очеловечивания" стек-дампа по
имеющемуся dSYM-каталогу проекта. В инете есть решения на базе atos,
но он в леопарде не дружит с dSYM. Есть утилитка dsymutil, она все
понимает, но выдает запредельно дофига информации.
А кто еще чем пользуется?