Параметры отлова iPhone в опубликованных приложениях - PullRequest
2 голосов
/ 04 декабря 2009

Меня интересует встраивание инфраструктуры CrashCatcher (http://code.google.com/p/plcrashreporter) в производственное приложение. Я написал некоторый код, который будет загружать отчет о сбоях прямо на сервер. И я хотел, чтобы у меня был быстрый доступ к отчетам о сбоях и не нужно проходить через Apple / iTunes, чтобы получить их.

Кто-нибудь знает, может ли встраивание инфраструктуры CrashCatcher пройти процесс рассмотрения приложения? И, если это произойдет, это может вызвать какие-либо проблемы или конфликт с механизмами перехвата сбоев, которые Apple встроила в iTunes / iTunesConnect?

Мысли

Ответы [ 4 ]

3 голосов
/ 08 декабря 2009

Я переписывался с одним из авторов CrashReporter, Лэндоном (спасибо!), Чтобы дать некоторую дополнительную ясность по этому вопросу.

Очевидно, что механизмы, используемые CrashReporter (сигналы) и отловом сбоя Apple (исключения Маха), различны и взаимно совместимы.

Понимаете ли вы разницу между тем, как Apple ловит сбои по сравнению с CrashReporter? Я не посмотрел внимательно на источник CrashReporter, но из того, что я прочитал / помню, он работает путем регистрации обработчиков сигналов? Это точно?

Справа - PLCrashReporter регистрирует стандартные обработчики сигналов для сигналов, которые его интересуют: http://code.google.com/p/plcrashreporter/source/browse/trunk/Source/PLCrashSignalHandler.m#41 http://code.google.com/p/plcrashreporter/source/browse/trunk/Source/PLCrashSignalHandler.m#223

Знаете ли вы, использует ли Apple другой механизм?

Apple использует обработчик исключений Маха для реализации своих отчетов о сбоях как на Mac OS X, так и на iPhone; Исключения mach могут обрабатываться сервером исключений (как внутри процесса, так и вне процесса) - стандартный обработчик исключений UNIX, предоставляемый ядром, отображает исключения mach в сигналы UNIX.

Обработчик исключений UNIX зарегистрирован здесь: http://fxr.watson.org/fxr/source/bsd/kern/bsd_init.c?v=xnu-1456.1.26#L999

Для отчетов о сбоях преимущество API исключений Маха состоит в том, что вы можете просто передать неизмененные исключения непосредственно следующему обработчику. Я исследовал реализацию этого на ранней стадии, но необходимый API был закрытым [1], поэтому остановился на регистрации стандартных обработчиков сигналов UNIX. Если вы хотите узнать больше о системе исключений Маха, я бы рекомендовал начать с главы 9, раздел 7 внутренних компонентов Mac OS X.

Ура, Лэндон

[1] В Unity 3d недавно возникли проблемы с частным API исключения mach через exc_server (): http://blogs.unity3d.com/2009/11/14/unity-iphone-app-store-submissions-problem-solved/

1 голос
/ 20 января 2012

Я использую сервис под названием Crittercism (видел его на Techcrunch) в моих производственных приложениях. У меня не было проблем с магазином приложений.

www.crittercism.com

0 голосов
/ 05 декабря 2009

Все должно быть в порядке, однако вы должны предоставить пользователям выбор, отправлять ли вам отчет о сбое.

Когда мы сделали это, мы предварительно заполнили электронное письмо, когда приложение запускалось после сбоя с соответствующей трассировкой стека в нем. Пользователь может выбрать отправлять или нет.

0 голосов
/ 05 декабря 2009

Ребята, создавшие фреймворк, получили в магазине множество приложений. Если кто-то успешно использует его в производственном приложении, он должен знать об этом. Вы должны попытаться связаться: http://www.plausiblelabs.com/

...