Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用电子邮件发送SQLite数据库?_Ios_Sqlite_Email - Fatal编程技术网

Ios 如何使用电子邮件发送SQLite数据库?

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

我正在开发使用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"];
此外,当我按下“取消”按钮或“发送”按钮时,视图不会关闭


任何帮助都将不胜感激:)

尝试附加文件时,您的sqlite数据库是否打开?如果数据库是打开的,可能数据库文件上有锁

按照rmaddy的建议实现MFMailComposeViewControllerDelegate将解决解除控制器的问题


sqlite数据库的大小有多大?也许代码一切正常,您只需要一个非常大的文件:-)

要解除编写器,您需要实现
MFMailComposeViewControllerDelegate
方法,并在控制器上调用
dismissViewControllerAnimated:completion:
。文件名是电子邮件使用的名称,与它在磁盘上的位置无关。我猜不同的电子邮件客户端不正确地支持完整的文件路径,或者可能根本不属于规范的一部分。
my_dbname.sqlite
解决方案不可接受有什么原因吗?