2009-12-04 3 views
2

프로덕션 앱에 CrashCatcher 프레임 워크 (http://code.google.com/p/plcrashreporter)를 포함시키는 것에 대해 궁금합니다. 충돌 보고서를 서버에 직접 업로드하는 코드를 작성했습니다. 그리고 이것에 대한 나의 의도는 충돌 보고서에보다 신속하게 액세스 할 수 있었고 Apple/iTunes를 통해 가져올 필요가 없었습니다.iPhone 게시 된 앱에서 크래시 잡기 옵션

CrashCatcher 프레임 워크를 임베드하는 것이 응용 프로그램 검토 프로세스를 통과 할 가능성이 있는지 여부를 아는 사람이 있습니까? 그리고 만약 그렇다면, 애플이 아이튠즈/아이튠즈 커넥트 (iTunes/Connect)에 내장 한 크래시 포착 메커니즘에 문제가 있거나 충돌 할 가능성이 있는가?

생각하십니까?

답변

3

나는 CrashReporter, Landon (감사합니다!)의 저자 중 한 사람과 연락하여 이에 대한 명확한 설명을 추가했습니다.

분명히 CrashReporter (신호)와 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은 Mac 예외 처리기를 사용하여 Mac OS X과 iPhone 모두에서 충돌보고를 구현합니다. 마하 예외는 예외 서버 (프로세스의 내부 또는 외부)에서 처리 할 수 ​​있습니다. 기본 커널 제공 UNIX 예외 처리기는 마하 예외를 UNIX 신호에 매핑합니다.

유닉스 예외 핸들러가 여기 등록 : 충돌보고를 들어 http://fxr.watson.org/fxr/source/bsd/kern/bsd_init.c?v=xnu-1456.1.26#L999

, 마하 예외 API의 장점은 단순히 직접 다음 핸들러에 수정되지 않은 예외를 전달할 수 있다는 것입니다. 이 일찍부터 구현을 조사했지만, 필요한 API는 비공개이며 표준 UNIX 시그널 핸들러를 등록하면 해결할 수 있습니다. Mach 예외 시스템에 대해 더 알고 싶다면 Mac OS X Internals의 Chapter 9, Section 7부터 시작하는 것이 좋습니다.

건배, 랜든

[1] 유니티 3D는 최근 exc_server를 통해 기계의 예외 개인 API 문제() 실행 : http://blogs.unity3d.com/2009/11/14/unity-iphone-app-store-submissions-problem-solved/

+0

독자는 충돌보고 시스템이 내장 된이 애플리케이션 템플리트 프로젝트를 알고 싶어 할 수도 있습니다 .http : //petersteinberger.com/2010/12/presenting-a-better-template-for-ios-apps-psiosapptemplate / – xyzzycoder

0

프레임 워크를 만든 사람들은 저장소에 수많은 응용 프로그램을 가지고 있습니다. 누군가가 프로덕션 앱에서이를 성공적으로 사용한다면, 그 사실을 알아야합니다. 연락을 시도해야합니다 : http://www.plausiblelabs.com/

+0

내가 위에서 인용 한 상호 작용은 저자와 함께 있습니다. – xyzzycoder

0

크래시 보고서를 되돌려 보낼지 여부는 사용자에게 알려야합니다.

우리가 그것을했을 때 우리는 그것에 적절한 스택 추적으로 충돌 후 응용 프로그램이 시작되었을 때 이메일을 미리 채 웠습니다. 사용자는 보낼지 여부를 선택할 수 있습니다.

1

내가 Crittercism라는 서비스를 사용하고을 (테크 크 런치에 그것을보고) 내 프로덕션 앱에서. 앱 스토어에 아무런 문제가 없었습니다.

www.crittercism.com