프로그래밍 방식으로 iphone 충돌 로그 파일에 액세스하는 방법이 있습니까? 충돌 후 앱을 실행할 때 충돌 보고서를 서버에 보내도록 제안하는 오류 보고서 기능을 작성하려고합니다. 앱 내에서 오류 로그를 가져 오는 방법을 찾을 수 없습니다.iPhone에서 iPhone 앱 크래시 로그 파일을 프로그래밍 방식으로 가져 오는 방법
2
A
답변
2
같은 로직을 사용할 수 있습니다.
aslmsg q, m;
int i;
const char *key, *val;
float how_old = fTime ;
q = asl_new(ASL_TYPE_QUERY);
asl_set_query(q, ASL_KEY_LEVEL, strLoggerLevel ,ASL_QUERY_OP_LESS_EQUAL);
asl_set_query(q, ASL_KEY_FACILITY, [@"YourBundleIdOfAPP" UTF8String] ,ASL_QUERY_OP_EQUAL);
asl_set_query(q, ASL_KEY_TIME, [[NSString stringWithFormat:@"%.f", [[NSDate date] timeIntervalSince1970] - how_old] UTF8String], ASL_QUERY_OP_GREATER_EQUAL);
int goInside=0;
aslresponse r = asl_search(NULL, q);
while (NULL != (m = aslresponse_next(r)))
{
NSString *cValueToWrite;
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];
for (i = 0; (NULL != (key = asl_key(m, i))); i++)
{
//get the only required fields
if(i==12 || i==10 || i==11 || i==8 || i==9 ||i==3)
{
NSString *keyString = [NSString stringWithUTF8String:(char *)key];
val = asl_get(m, key);
NSString *string = [NSString stringWithUTF8String:val];
[tmpDict setObject:string forKey:keyString];
}
}
cValueToWrite=[[NSString alloc]initWithFormat:@"\n--------------[Debug]----------------\nDateTime: %@\nApplication: %@\nInfo: %@",[tmpDict valueForKey:@"CFLog Local Time"],[tmpDict valueForKey:@"Sender"],[tmpDict valueForKey:@"Message"]];
}
strLoggerLevel
당신이 당신을 도와 아마도
비슷한 질문에 대한 답변 중 하나를 7 개까지 범위를하는 원하는 로거 유형을 보유하고있는
NSString
입니다 : http://stackoverflow.com/questions/4737701/get-previous-run-crash-logs-on-iphone? rq = 1 – Christian이것을 확인하면 도움이 될 수 있습니다. http://stackoverflow.com/questions/9715127/programmatically-getting-crash-reports-inside- -ios-app –
@Christian thanks.actually 내 자신의 디버거 라이브러리를 만들고 있으므로 다른 라이브러리 나 프레임 워크를 사용하여 확인하고 싶지는 않습니다. – Charlie