2009-07-10 6 views
9

나는 Leopard 이상을 타겟팅하는 Cocoa 앱을 개발하고 있으며, 크래시 리포터를 추가하려고합니다 (내 앱이 다운되지 않을 것이라고 생각하고 싶습니다. 진짜 여기). 내가 시작하기 전에 개념적으로 몇 가지 질문이 있습니다.Crash Reporter for Cocoa 앱

1) 개념적으로 어떻게 작동합니까? 충돌이 발생한 시점을 알고 기자를 데리고 올 수 있습니까? 충돌하는 데몬을 운영하고 있습니까? 아니면 다음 번에 내 앱이 시작될 때까지 기다려야합니까?

2) 코코아에서이 작업을 수행 할 수 있습니까? 아니면 Carbon이나 IOKit에 잠겨 야합니까?

3) 이것도 좋은 생각입니까? Mac OS X에는 이미 크래시 리포터가 내장되어 있지만 개발자는 크래시 로그를 보지 못합니다. 내 앱이 자주 충돌 할 것이라고 생각하지 않는다. 솔직히 말해서, 나는 순진하기를 원하지 않지만, 이런 종류의 일을하고 싶다.

이 문제에 대한 귀하의 생각과 의견은 무엇입니까?

+1

2013 년이 게시물에 답하는 사람이 있습니까? 모든 답변은 상당히 구식이지만 질문은 여전히 ​​관련성이 있습니다. –

답변

4

UKCrashReporter으로 많은 성과를 거뒀습니다. 코드는 간단하고 앱의 L & F와 일치하도록 수정하기 쉽습니다.

PLCrashReporter은 흥미로운 것 같습니다.

예기치 않은 곳으로 코드를 삽입하는 앱을 많은 사용자가 (정당하게) 인식하지 못하고 나를 (출시 된 앱에서 사용하기에 위험 할 수 있음) 접근하기 때문에 스마트 크래시 리포터에서 벗어날 수 있습니다.

+0

2013 년에 대한 답변을 업데이트 하시겠습니까? 나는 당신의 새로운 대답이 완전히 다를 수 있다는 것에 놀라지 않을 것입니다. –

1

몇 가지 앱이 Smart Crash Reporter 또는 일부 변형 된 것을 보았습니다. 응용 프로그램이 충돌하면 "Apple과 You 모두에게 보내기"라는 추가 단추가있는 일반적인 Apple 충돌 대화 상자가 나타납니다.

1

나쁜 취향의 단일 이유 때문에 Smart Crash Reporter에서 벗어날 것입니다. 많은 사용자를 위해 좋은 방법입니다. 귀하의 앱에 대해 나쁜 언론을 얻는 좋은 방법입니다. PLCrashReporter 또는 UKCrashReporter http://zathras.de/angelweb/sourcecode.htm 그들은 할 일에 대한 아이디어를 제공 할 것이고, 다른 사람들에게 주입하지 않는 방법으로 할 것입니다. 코드 공간.

2

다른 사람들은이 질문에 대해 잘 대답하고 좋은 예제 코드를 지적했습니다.

직접 코딩하는 것은 매우 간단합니다. 이 전략은 일반적으로 :

  • 캐치 적절한 신호
  • 시작 응용 프로그램의 번들 내부에 살고있는 별도의 충돌 기자 응용 프로그램
  • 충돌 기자 응용 프로그램은 다음 앱의 최신 충돌 로그 항목을 찾아로 전송 (POST, 이메일 등)
1

다른 옵션은 Google의 Breakpad입니다. 그것은 Cocoa 프레임 워크 래퍼를 가지고 있으며 모질라의 Socorro 서버와 호환됩니다. 파이어 폭스에서 사용하고 코코아 프레임 워크는 카미노의 현재 베타 버전에서 사용됩니다. 클라이언트 측 통합은 매우 쉽지만 Socorro 서버의 인스턴스를 실행하는 데 필요한 사항을 본 적이 없습니다.

2

나는 또한 내 자신의 압연했습니다 SFBCrashReporter

그것에 대해 작은 post on my blog 있습니다.

+1

저는 이것을 앱에서 사용했으며 매우 만족했습니다. 현재 버전은 GC 지원 앱용으로 설계되었으므로 비 GC 앱용으로 사용하려면 미세 조정이 필요합니다. 나는 UKCrashReporter도 시도했지만 더 좋았습니다. – hasseg

0

나는 ILCrashReporter을 사용하고 있으며 실제로 잘 작동합니다. 이 방법은 이메일을 기반으로하므로 Fogbugz과 잘 작동합니다.

+0

ILCrashReporter가 스노우 레오파드에서 작동하지 않습니다 ... 단서가 있습니까? – Devarshi