2012-05-25 5 views
11

크래시 리포터로 TestFlightLive을 성공적으로 사용하고 있지만 일부 기능이없는 것 같습니다. 이러한 누락 된 기능은 다른 크래시 리포터 (Crashlytics)에 있지만 지금은 크래시 리포터를 완전히 전환 할 의사가 없습니다. 따라서이 두 가지 크래시 리포터를 하나의 앱 (향후 앱 스토어에 있어야 함)에 함께 사용할 수 있는지 궁금합니다.iOS에서 여러 크래시 리포터 사용

+0

: http://www.grahamdennis.me/blog/2012/10/21/how-to-disable-testflights-crash-handlers/ – HelmiB

답변

17

TestFlight와 Crashlytics를 함께 실행하면 두 가지 모두 오류를 정상적으로보고합니다. 위의 Jens Kohl처럼 TestFlight SDK가 초기화 된 후에 포함되어야합니다. 내 코드는 다음과 같습니다.

#ifdef DEBUG 
    // setup testflight if in debug (ie dev) mode 
    [TestFlight takeOff:kTestFlightAPIKey]; 
#endif 

    [Crashlytics startWithAPIKey:kCrashlyticsAPIKey]; 
+1

참고 :이 두 가지 조합으로 작동합니다. 여러 타사 크래시 리포터를 조합하여 사용할 수 없습니다. 일부 충돌 보고서가 catch 된 예외 또는 다른 충돌을 다른 인스턴스로 전달하지 않는 여러 사례를 보았으므로 다른 보고서는 아무 것도 도움이되지 않는 것으로보고하지 않습니다. – Kerni

+2

잠깐. TestFlight는 DEBUG #ifdef에 있기 때문에 제작시 Crashlytics 만 사용하고 있습니까? – elsurudo

+0

예, 이것은 TestFlight가 프로덕션에서 실행되기 전이었습니다. TestFlight를 항상 실행하려면 ifdef에서 언 래핑하십시오. –

3

1 개의 오류보고 프레임 워크 만 사용할 수 있습니다. 충돌을 잡는 프레임 워크는 스레드에서 이미 실행 된 새로운 코드가 있기 때문에 다른 프레임 워크가이를 catch하거나 잘못된 데이터를 가져 오게합니다.

+1

크래시 틱스 지원팀은 가장 최근에 호출 된 크래시보고 툴킷 일 필요가 있다고 대답했습니다. Crashlytics와 함께 다른 크래시 리포터를 사용할 때까지 지금까지 어떤 문제도 없습니다. 그럼에도 불구하고 시험해 보겠지 만 감사합니다. –

+1

크래시 리포터는 기본적으로 대부분의 클래스 이름이 변경된 PLCrashReporter입니다. 그리고 PLCrashReporter는 모든 데이터가 수집되면 앱이 충돌하게 만듭니다. 그래서 그것이 마지막이어야하는 이유 중 하나입니다. 그러나 어떤 종류의 충돌 기자가 실행되기 전에 Objective-C 코드 자체는 안전하지 않을뿐만 아니라 (http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html) 실행도 변경됩니다 호출은 충돌하는 스레드에 스택합니다. 따라서 효과가있을 수 있지만 일반적으로 효과가 있다고 말하는 것은 안전하지 않습니다. 두 보고서의 결과는 매우 다를 수 있습니다. – Kerni