2013-03-20 2 views
3

화면이 검게 (시작 화면이 검은 색) 된 후 약 15 초 후에 내 응용 프로그램이 충돌하는 것으로보고 한 사용자 (iPhone 5 포함)가 있습니다. 사용자가 App Delegate에 체크 포인트를 포함시킨 TestFlight 빌드를 다운로드했지만 이러한 체크 포인트가 교차되어 있다는 증거를 얻지 못하고 충돌 보고서를받지 못했습니다.응용 프로그램이 충돌하지만 TestFlight 오류 보고서 없음

스토리 보드의 진입 점을 빈보기 컨트롤러로 변경 했으므로 이제 검사 점을 넘었습니다. Watchdog은 스토리 보드 리소스가 너무 길어서 앱을 일시 중지하지만 모든 이미지는 4 개의 작은 탭 표시 줄 아이콘을 제외하고 필요에 따라 실시간으로 작성됩니다. 여러 오디오 파일이 있지만 필요에 따라로드됩니다. 지연을 초래할 수있는 다른 리소스는 생각할 수 없습니다. 아무도이 문제를보고하지 않았고, 나는 혼란 스럽다.

특히 TestFlight에서 충돌 보고서 나 체크 포인트가 표시되지 않는 이유에 대해 통찰력을 얻었습니다.

+0

, 그것은 확실히 소리 http://support.hockeyapp.net/kb/how-tos-faq/which-types-of-crashes-can-be-collected-on-ios-and-os-x는 워치 독처럼 :

은 다음 페이지는이에 대한 몇 가지 세부 사항을 제공합니다 너무 많은 시간을 보내고 애플 리케이션을 죽이는. –

답변

7

귀하의 가정은 정확합니다. 워치 독이 앱을 삭제했습니다. 앱이 제대로 시작되지 않고 UI가로드되지 않아 메인 스레드가 차단되었거나 사용자 상호 작용이 불가능하기 때문입니다.

설명을 이해하는 동안로드하는 동안 리소스를 생성하고 있습니까? 그리고 아마도 메인 스레드에서이 일을하고 있을까요? 이전/느린 장치가 예상보다 오래 걸릴 수있는 주 스레드에서 자원 배가 코드를 백그라운드 스레드로 오프로드하려고 시도해야합니다. UI는 항상 응답 성이 있어야합니다. 주 스레드는 처리 시간이 1 초에 가까울 수있는 작업으로 절대로 안됩니다.

또 다른 이유는 스토리 보드와 뷰 컨트롤러 간의 연결이 끊어져 실제로 해당 장치 유형에로드되지 않을 수 있기 때문일 수 있습니다.

하지만 더 자세한 내용이 없으면 정확히 무슨 일이 일어나고 있는지 말할 수 없습니다.

일반적으로 : 앱이 iOS 시스템에 의해 종료 된 경우 (예 : 너무 많은 메모리를 할당하기 때문에 시작 시간이 초과되거나 워치 독이 너무 많아서 iOS 만 충돌 보고서를 생성 할 수 있습니다.

문제는 앱이 종료되고 프로세스가 종료된다는 것입니다. 그리고 그 프로세스 내에서 실행되는 코드로는이를 감지 할 수 없습니다. iOS 시스템을 기반으로하는 크래시 리포터를 제외한 iOS의 크래시 리포트는 죽는 것과 동일한 앱 프로세스에서 실행되기 때문에 충돌 보고서를보고하거나 작성할 수 없습니다. (. Testflight 사용하지 않습니다 PLCrashReporter, 그러나 일반 제표에 컨텍스트와 동일하지만) 당신이 말했듯이

+0

TestFlight가 프로세스가 종료 될 때 데이터를 보낼 수 없다는 점에 감사드립니다. 이 응용 프로그램은 시작할 때 Core Graphics 및 UIKit을 사용하여 간단한 모양을 그립니다. 나는 거기에 나의 노력을 집중할 것이다. 문제의 기기가 iPhone 5임을 나타내는 질문을 업데이트하겠습니다. –

+1

iPhone 5가 가장 빠릅니다. 따라서 iOS에서 생성 한 실제 기기에서 충돌 보고서를 제공 할 수 있는지 사용자에게 묻는 것이 좋습니다. Mac/PC에 장치를 동기화하거나 진단 설정 부분에서 복사하여 붙여 넣으십시오. 어떻게하는지에 대한 많은 설명이 나와 있습니다. 그러면 죽이기위한 실제 이유가 나타납니다. – Kerni

+0

고마워. 사용자는 동기화 할 컴퓨터가 없지만 충돌 보고서를 전자 메일에 붙여 넣습니다. 나는 그것이 가능하다는 것을 몰랐다. 매우 감사. –

관련 문제