편집 : SDK가 무엇인지 궁금해하는 사람들을 위해, Flurry의 중국 복제품, == >> Umeng.NSSetUncaughtExceptionHandler 제 3 자 SDK에 의해 도용
편집 2 : 다시 호출되는 내 있던 uncaughtExceptionHandler 것 그 이상 SDK에서 옵션을 취급 비활성화 충돌 로그가 실제로있다. 그러나 그 SDK가 처음부터 트릭을 어떻게 수행했는지에 대해서는 매우 관심이 많습니다.
일부 제 3 자 iOS 분석 SDK를 사용하고 있습니다. 이상한 발견 :
원래 (SDK를 추가하기 전에) UncaughtExceptionHandler이 내 appDelegate.m에있었습니다. 괜찮 았어. 실제 iDevice에서 테스트 할 때 예외가 발생하면 콘솔에 일부 로그를 출력했습니다.
//Worked like charm before I added that weird analytics SDK
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
그럼 내가 추가 한 다음, 갑자기 이상한 분석 SDK (내가 한 모든 내 프로젝트에 운영자와 lib 디렉토리를 삭제하고 아래에 언급 한 바와 같이, 내 appDelegate.m 한 줄을 추가했다) 내 uncaughtExceptionHandler가 호출되지 않습니다. 그것이 나오는 것에 따라 //To make sure my uncaughtExceptionHandler was not set a second time by that SDK,
//I set and reset again, before and after I initialized that weird SDK
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
[WeirdAnalyticsSDK startWithAppkey:@"XXX_XXX_XXX_XXX"];
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
는 상관없이 내가 뭘, 한 나는 예외가 발생하면 SDK가 내 AppDelegate에, 내 있던 uncaughtExceptionHandler에 바로 전화를받을하지 않습니다 초기화하지 않기 때문에.
누군가 나를 도와 줄 수 있습니까? 어떤 이상한 SDK가 내 uncaughtExceptionHandler에 무슨 짓을했는지?
이 타사 SDK는 무엇입니까? 구현 세부 사항은이 질문에 대답하는 데 중요 할 것이므로 우리는 그 이름이 필요합니다 ... – trojanfoe
@trojanfoe 내 편집 된 질문보기 –
아마도 SDK가 생각보다 나중 NSSetUncaughtExceptionHandler()를 호출하고 있습니다. 'NSSetUncaughtExceptionHandler'에 중단 점을 설정하고 앱을 실행 한 다음 SDK가 다시 설정하는 위치를 찾을 수 있는지 확인하십시오. Xcode에서 중단 점 탐색기로 이동하여 아래쪽에있는 + 기호 절점 추가를 클릭하십시오. –