2017-05-22 3 views
-1

iOS 애플리케이션을 사용하는 동안 충돌이 발생하면 기기에 충돌 로그가 생성됩니다. 이제 모든 세부 사항으로 인해 응용 프로그램에서 충돌이 발생할 때 내 응용 프로그램 crashlog가 .txt 파일의 내 전자 메일 주소로 보내 지길 원합니다. 어떻게해야합니까?iTunes에서 동기화하지 않고 기기에서 등록 된 이메일로 크래시 로그를 보내는 방법 xcode

미리 감사드립니다.

https://fabric.io/kits/ios/crashlytics

는 아마 당신을 도울 수 :

답변

0

는 당신이 아래의 링크를 검색하는 것이 좋습니다.

+0

감사합니다.하지만 프레임 워크/coocapods를 사용하고 싶지 않습니다. –

0
NSArray *stackArray = [exception callStackSymbols]; 
NSString *reason = [exception reason]; 
NSString *name = [exception name]; 

// Get exception infomation. 
NSString *exceptionInfo = [NSString stringWithFormat:@"Exception reason:%@\nException name:%@\nException stack:%@",name, reason, stackArray]; 

// 사용자에게 서버에 전자 메일을 보내라는 메시지를 보내지 않으려면 서버에 메시지를 보내십시오. 어쩌면 https://github.com/jetseven/skpsmtpmessage을 읽고 자세한 내용을 알아야합니다.

+0

감사합니다. 이것을 사용하는 방법과 사용 장소. 어떻게 위의 코드가 충돌이 발생했는지 알 수 있습니다. –

0
you can define a C method. 
// first 
void uncaughtExceptionHandler(NSException *exception) { 
NSArray *stackArray = [exception callStackSymbols]; 
NSString *reason = [exception reason]; 
NSString *name = [exception name]; 

// Get exception infomation. 
NSString *exceptionInfo = [NSString stringWithFormat:@"Exception reason: 
%@\nException name:%@\nException stack:%@",name, reason, stackArray]; 

/** 
send email 
**/ 
} 

//second set this method like this in appdelegate.m 
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    //regist method 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
    return YES; 
} 
+0

내 코드에서 발생하는 크래시가 아닌 캐치되지 않는 예외에만 작동합니다. –