Ios 如何使用电子邮件发送SQLite数据库?
我正在开发使用SQLite数据库的iPhone应用程序(在iOS 7.0+上运行)。当我试图通过电子邮件发送数据库时,我遇到了一个问题,当我使用以下代码时,它或者没有响应:Ios 如何使用电子邮件发送SQLite数据库?,ios,sqlite,email,Ios,Sqlite,Email,我正在开发使用SQLite数据库的iPhone应用程序(在iOS 7.0+上运行)。当我试图通过电子邮件发送数据库时,我遇到了一个问题,当我使用以下代码时,它或者没有响应: MFMailComposeViewController *cm=[[MFMailComposeViewController alloc]init]; cm.mailComposeDelegate = self; [cm setToRecipients:[NSArray arrayWithObjects:@"EMAIL Add
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"];
此外,当我按下“取消”按钮或“发送”按钮时,视图不会关闭
任何帮助都将不胜感激:)尝试附加文件时,您的sqlite数据库是否打开?如果数据库是打开的,可能数据库文件上有锁 按照rmaddy的建议实现MFMailComposeViewControllerDelegate将解决解除控制器的问题
sqlite数据库的大小有多大?也许代码一切正常,您只需要一个非常大的文件:-)要解除编写器,您需要实现
MFMailComposeViewControllerDelegate
方法,并在控制器上调用dismissViewControllerAnimated:completion:
。文件名是电子邮件使用的名称,与它在磁盘上的位置无关。我猜不同的电子邮件客户端不正确地支持完整的文件路径,或者可能根本不属于规范的一部分。my_dbname.sqlite
解决方案不可接受有什么原因吗?