Crashlytics가 iPhone에서 오류 보고서를 보내지 않음
하나의 iOS 애플리케이션에 Crashlytics를 설정하고 실제 기기에 애플리케이션을 설치했습니다. 내 Crashlytics 대시 보드에 앱을 성공적으로 추가했습니다. 그러나 충돌 보고서를 보내지 않습니다. 내 인터넷 속도가 그렇게 좋지 않습니다. 하지만이 기기에서 내 이메일을 확인할 수 있습니다. 누구든지 어디 문제가 있는지 짐작할 수 있습니까?
Xcode 디버거는 Crashlytics가 오류 보고서를 처리하는 것을 허용하지 않습니다. 네, 처음 읽었을 때도 이상하게 보이지만 사실입니다 ( Source ). 이것이 바로 충돌 보고서를 볼 수없는 이유입니다
.-시뮬레이터
에서 앱 실행-디버거가 켜진 상태에서 Xcode에서 직접 빌드하고 실행하여 iDevice에서 앱을 실행합니다.
테스트 중에 충돌이보고되었는지 확인하려면 ( Crashlytics 지원 사이트에서 복사 ) :
1. 시뮬레이터 시작
2. 중지를 누릅니다.
3. 앱을 실행하고 강제로 충돌을 실행합니다
. 4. 시뮬레이터에서 앱을 다시 시작합니다
. 5. 웹 대시 보드.
편집하다:
참조를 추가했습니다. Crashlytics는 또한 비정상 종료 를 강제하는 빠른 방법 에 대한 짧은 도움말 과 첫 번째 비정상 종료의 데이터가 표시되지 않는 이유에 대한 도움말을 제공 합니다 .
늦었지만 100 % 일해
아래 이미지와 같이 프로젝트 빌드 설정을 변경하십시오.
충돌보고자가 iOS에서 작동하지 않는 주된 이유는 다른 충돌보고자의 간섭 때문입니다. 그러나 특히 Crashlytics를 사용하면 특정 문제로 인해 오류 보고서가보고되지 않을 수 있습니다.
Xcode 디버거는 Any Crash Reporter 가 충돌 보고서를 처리 하도록 허용하지 않습니다 . 이는 XCode가 충돌 처리 콜백에 대한 모든 후크를 재정의하기 때문입니다. 이것은 다음과 같은 경우에만 발생합니다.
- 시뮬레이터에서 앱 실행 (디버거 사용)
- 디버거가 켜진 상태에서 Xcode에서 직접 빌드하고 실행하여 iDevice에서 앱을 실행합니다.
테스트 중에 충돌이보고되었는지 확인하려면 ( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-ti-have-xcode-connected- ) :
- 시뮬레이터 시작
- 정지를 누르십시오
- 앱을 실행하고 강제 종료
- 시뮬레이터에서 앱 다시 시작
- 웹 대시 보드에서 충돌 보고서를 참조하십시오.
매우 오래된 동영상이지만 여전히 관련성이 있지만 위 단계에 대한 동영상입니다 (크 리터 시즘의 예) : https://www.youtube.com/watch?v=sU6Su3PBFH4
나에게 문제는 장치가 내 Mac에 연결되어 있다는 것입니다. :) 이 소스에서 :
또한 기기를 Mac에 연결 한 경우 XCode의 디버거도 함께 작동합니다. 따라서 테스트하기 전에 장치를 분리하십시오. :)
최근에이 문제가 발생하여 빌드 스크립트가 제거되는 과정에서 발견되었습니다. 다음과 같이 다시 추가하면 문제가 해결되었습니다.
./Crashlytics.framework/run <your_api_key> <build_secret>
참고 : Cocoapods를 사용할 때 위의 ( source ) 대신 다음을 원할 것입니다 ../Pods/CrashlyticsFramework/Crashlytics.framework/run
빌드 스크립트 추가 :
- Xcode 6에서 Run Script Build Phase를 추가하려면 프로젝트에서 애플리케이션 대상을 선택한 다음 "Build Phases"를 선택합니다.
- 작은 "더하기"아이콘을 클릭하고 "새 실행 스크립트 빌드 단계"를 선택합니다.
- 이제 위와 같이 빌드 단계 옵션 중간에 스크립트 실행 섹션이 표시됩니다.
- Run Script Build Phase 본문 안에 스크립트를 붙여 넣습니다 .`
위의 인용문은 이 게시물 에서 참조 된 Crashlytics의 시각적 가이드 에서 가져온 것 입니다.
참고 : 원래 Crashlytics 오류 코드 : 202 when Submitting files 에 대해이 답변을 그대로 게시했습니다 .
다음 단계를 사용하여 솔루션을 찾았습니다
. 1. Edit Scheme 2. Run-> Info 3. Build Configuration을 release로 변경합니다. 이제 앱 충돌을 실행하십시오. 우편을 받게됩니다.
RayWenderlich 사이트에서 :
Xcode가 충돌 이벤트를 가로 채면 충돌 보고서를받을 수 없습니다! 아래의 모든 예제가 작동하도록하려면 애플리케이션을 빌드하고 실행 한 다음 Xcode에서 중지 버튼을 클릭해야합니다. 이렇게하면 장치에 최신 버전이 설치됩니다. 이 작업이 완료되면 장치 자체에서 앱을 시작한 다음 원하는 모든 작업을 중단 할 수 있습니다! iOS 장치의 모든 충돌이 포착되어 앱에 통합 한 서비스의 서버 구성 요소로 전송됩니다. 충돌 보고서는 일반적으로 다음에 앱을 시작할 때 서버로 전송되므로 서버에서 충돌 보고서를 생성하기 위해 따라야 할 단계는 다음과 같습니다. Xcode에서 빌드하고 실행합니다. 중지 버튼을 누르십시오. iOS 기기에서 앱을 실행하세요. 앱 충돌을 만듭니다. 앱을 다시 실행하십시오.
Crashlytics는 지금까지 저에게 효과적입니다. 이유는 모르겠지만 지금은 작동하지 않습니다.
디버그 모드를 켜야합니다.
[Crashlytics sharedInstance].debugMode = YES;
내 문제는 여기에 Crashlytics 오류 코드 : 202 파일 제출시 :(
너무 일찍 충돌을 일으키지 않도록하십시오.
설정 [Crashlytics sharedInstance].debugMode
하기 YES
;
주의하다
Crashlytics] Settings loaded
Xcode 콘솔 로그에서.
그런 다음 충돌을 강제하고 앱을 다시 시작하면 충돌이 지금보고됩니다.
테스트 충돌 코드를 시도 할 때 비슷한 문제가 발생했습니다.
Crashlytics.sharedInstance().crash()
Xcode없이 기기에서 내 앱을 실행하고 있었는데 충돌이 Crashlytics 대시 보드에 표시되지 않았습니다. 저에게 도움이 된 것은 Crashlytics 웹 사이트의 다음 팁이었습니다.
- 크래시가 업로드 될 수 있도록 앱을 크래시 한 후 실행해야합니다.
위의 crash () 호출을 주석 처리하고 앱을 다시 실행했습니다. 그런 다음 충돌이 대시 보드에 표시되었습니다.
[[Crashlytics sharedInstance] crash]
장치에서 실행 해보고 보고되었는지 확인 했습니까? 다른 크래시 리포터 등을 포함하여 Crashlytics가 작동하지 않는 몇 가지 이유가 있습니다.
dSYM 파일을 업로드하지 않으면 보고서가 성공적으로 업로드 되었더라도 Crashlytics에서 오류를 표시하지 않습니다.
CI 서버에서만 실행되도록 빌드 스크립트를 설정 한 경우이 문제가 발생할 수 있습니다. 그런 다음 xcode를 통해 앱을 휴대폰에 복사하고 디버거에 연결하지 않고 실행하면 dSYM 파일 누락으로 인해 보고서가 업로드되지만 무시됩니다.
이것은 crashlytics 3.4.0의 xcode 9 용입니다.
그런 다음 인내심을 갖고 몇 분 동안 기다리십시오.
때로는 로그가 표시되는 데 시간이 걸립니다. 15-20 분 후에 찾을 수 있습니다.
One of the issue I feel that in the Run Script Phase, it should be a separate Run Script Phase for CrashLytics. When had the run script
./Fabric.framework/run
With some of my other script, everything was ok, CrashLytics log show report submitted, but nothing was in the web interface.
When I add another Run script phase only with Fabric run, it appears like a magic :)
My first try was with cocoapods, but that did not work. When I manually add all the framework and a separate run script phase that worked.
This worked for me,
If you're testing on iDevice, just unplug iDevice with your Xcode and run your app. Now, If crashed it will be updated on dashboard.
I solved by deselecting "Run Script only when installing" option in Run script (one for Fabric(crashlytics))
참고 URL : https://stackoverflow.com/questions/17818428/crashlytics-is-not-sending-crash-report-from-iphone
'developer tip' 카테고리의 다른 글
SQL-IF EXISTS UPDATE ELSE INSERT INTO (0) | 2020.10.23 |
---|---|
ListView 용 Android 사용자 지정 행 항목 (0) | 2020.10.23 |
텍스트 상자의 텍스트 끝에 커서 설정 (0) | 2020.10.23 |
주문한 목록 번호의 스타일을 지정할 수 있습니까? (0) | 2020.10.23 |
mod_rewrite에서 디렉토리를 어떻게 무시합니까? (0) | 2020.10.23 |