以下是在真机测试 未线连mac时 查看程序运行日志的简单方法
1 复制以下代码到didfinishlaunch里面去粘贴
UIDevice *device = [UIDevicecurrentDevice];
if ([[device model]isEqualToString:@"iPhone"] || [[devicemodel] isEqualToString:@"iPad"]) {
NSString *documentpath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)lastObject];
NSString *fileName = [NSStringstringWithFormat:@"log.txt"];
NSString *logFilePath = [documentpathstringByAppendingPathComponent:fileName];
NSFileManager *fileManager = [NSFileManagerdefaultManager];
[fileManager removeItemAtPath:logFilePath error:nil];//删除之前的log.txt文件
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+", stderr);
3#import <MessageUI/MessageUI.h>
//- (IBAction)mail:(id)sender {
BOOL canSendMail = [MFMailComposeViewControllercanSendMail];
if (canSendMail) {
MFMailComposeViewController *mailVc = [[MFMailComposeViewControlleralloc]init];
[mailVc setToRecipients:@[在这里写你要发给谁的邮箱 例如 @"1204229880@qq.com"]];
NSString *documentpath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)lastObject];
NSString *fileName = [NSStringstringWithFormat:@"log.txt"];//当前日期做文件名
NSString *logFilePath = [documentpathstringByAppendingPathComponent:fileName];
NSData *data = [NSDatadataWithContentsOfFile:logFilePath];
[mailVc addAttachmentData:datamimeType:@""fileName:@"log.txt"];
mailVc.mailComposeDelegate = self;
[self presentViewController:mailVcanimated:YEScompletion:nil];
} else {
UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"提示"message:@"您的设备不支持邮件功能"delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil,nil];
[alert show];
}
//}
7 以下就是回调方法告知发送的各种状态 可有可无 有就准守协议
//
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
// MFMailComposeResultCancelled, 取消发送
// MFMailComposeResultSaved, 保存
// MFMailComposeResultSent, 发送
// MFMailComposeResultFailed 发送失败
switch (result) {
case MFMailComposeResultCancelled:
NSLog(@"取消发送");
break;
case MFMailComposeResultSaved:
NSLog(@"保存");
break;
case MFMailComposeResultSent:
NSLog(@"发送成功");
break;
case MFMailComposeResultFailed:
NSLog(@"失败");
break;
default:
break;
}
[self dismissViewControllerAnimated:YEScompletion:nil];
}
}