我正在开发使用SQLite数据库的iPhone应用程序(在iOS 7.0+上运行)。当我尝试通过电子邮件发送数据库时,问题就出现了,当我使用以下代码时,它或者没有响应:
MFMailComposeViewController *cm=[[MFMailComposeViewController alloc]init];
cm.mailComposeDelegate = self;
[cm setToRecipients:[NSArray arrayWithObjects:@"EMAIL Address here",nil]];
[cm setSubject:@""];
[cm setMessageBody:@"Mensage" isHTML:YES];
NSString *path = [[NSBundle mainBundle] pathForResource:@"my_dbname" ofType:@"sqlite"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[cm addAttachmentData:myData mimeType:@"application/x-sqlite3" fileName:path];
[self presentViewController:cm animated:YES completion:NULL];
或在我将附件行更新为:
时发送电子邮件[cm addAttachmentData:myData mimeType:@"application/x-sqlite3" fileName:@"my_dbname.sqlite"];
此外,当我按下"取消"时,视图不会消失。按钮或"发送"按钮。
任何帮助将不胜感激:)
答案 0 :(得分:0)
尝试附加文件时,sqlite数据库是否打开?如果数据库是打开的,可能是数据库文件有锁?
如rmaddy建议的那样实现MFMailComposeViewControllerDelegate将解决解除控制器的问题。
sqlite数据库的大小有多大?也许代码的一切都很好,你只有一个非常大的文件: - )