2010-09-13 11 views
0

Я попытался развернуть свое приложение на реальном устройстве.ошибка при сбое при сбое iphone (прерывается)

Но когда он работает, мое приложение разбивается (прерывается).

Как я могу уловить сообщение об ошибке, чтобы отобразить ошибку, из-за которой приложение может быть разбито?

спасибо.

+1

вы должны принять больше ответов первых – vodkhang

ответ

0

Прежде всего, вы можете перенаправить протоколирование в файл с этим методом:

+ (void)redirectNSLogToDocumentFolder { 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];  
    NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName]; 
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr); 
} 

просто назвать его в начале вашего приложения. После этого все ваши вызовы NSLog() будут записаны в файл (с датой имени).

Тогда вы можете просто подключить устройство к XCode и получить файл с Организатора

0

Ммм я не знаю.

Но вы можете попробовать использовать отладчик или инструменты, что позволяет много методов отладки :-)

Что говорит журналы консоли?

Удачи вам!

0

Когда вы подключаете свое устройство к компьютеру, окно органайзера в Xcode позволит вам просматривать журналы сбоев с устройства. Это может помочь найти источник проблемы.

Если вы запустите приложение на устройстве, отлаживая его из Xcode, вы сможете использовать bt в gdb, когда отладчик разбивается в точке ошибки. Это напечатает обратную линию, которая показывает, где произошла ошибка. Вы можете перемещать заднюю трассу в точку вашего кода, у которой была ошибка, набрав up в gdb.

+0

я разворачивал мое приложение на некотором iPhone устройств с помощью Ad Hoc Distribution. Некоторые устройства работают хорошо, но некоторые устройства были прерваны. Некоторые тестовые устройства (что было прервано) не подключают Xcode, поэтому я не могу отлаживать Xcode. Я пытался использовать @try ... @ catch (NSException * e) ... но я все еще не могу поймать ошибку. – MartinJoo

Смежные вопросы