【问题标题】:Errors are reported by iPhone MFMailComposeViewController. Is it safe?iPhone MFMailComposeViewController 报告错误。安全吗?
【发布时间】:2010-02-21 14:51:11
【问题描述】:

在尝试发送带有简单 KML 附件(仅几个字节)的邮件时,我在发送期间在控制台中收到以下警告。这些可以忽略还是我犯了错误?邮件似乎发送正常


- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    // Dismiss the e-mail controller once the user is done
    [self dismissModalViewControllerAnimated:YES];
}

- (void) emailLocation: (CLLocation*)  loc {
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"imhere" ofType:@"txt"];  
    NSString * kml=nil ;
    NSString * finalkml=nil;
    NSData * filedata=nil;

    NSString * mime= @"application/vnd.google-earth.kml+xml";

    if (filePath) kml = [NSString stringWithContentsOfFile:filePath];  
    if (kml) finalkml = [NSString stringWithFormat:kml,loc.coordinate.longitude, loc.coordinate.latitude,loc.altitude];
    if (finalkml) filedata = [finalkml dataUsingEncoding:NSUTF8StringEncoding];


    if (([MFMailComposeViewController canSendMail]) && (filedata))
    {
        MFMailComposeViewController *mcvc = [[[MFMailComposeViewController alloc] init] autorelease];
        mcvc.mailComposeDelegate = self;
        [mcvc setSubject:@"I'm here"];
        NSString *body = [NSString stringWithFormat:@"at %f %f",loc.coordinate.latitude,loc.coordinate.longitude];
        [mcvc setMessageBody:body isHTML:YES];
        [mcvc addAttachmentData:filedata mimeType:mime fileName:@"imhere.kml"];
        [self presentModalViewController:mcvc animated:YES];
    }
    else {
        UIAlertView * av = [[UIAlertView alloc] initWithTitle:@"No Email" message:@"Unable to send email." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [av show];
        [av release];
    }
}

我已经从上面的电子邮件正文示例中删除了 HTML,因为它弄乱了 SO 格式,但它是一个基本的 HTML 电子邮件,带有指向谷歌地图的链接。

控制台中报告的警告是

2010-02-21 14:23:38.809 DataTap[2008:850f] DA|无法在 /tmp/DAAccountsLoading.lock 打开锁定文件。无论如何我们都会加载帐户,但可能会发生不好的事情 2010-02-21 14:23:41.420 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误 [切换到线程 13827] 2010-02-21 14:23:44.197 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误 2010-02-21 14:23:45.357 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误 2010-02-21 14:23:45.855 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误 2010-02-21 14:23:48.543 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误 2010-02-21 14:23:48.848 DataTap[2008:207] DA|到 DADaemon 的管道丢失。搜索查询 2147483647 返回错误

“可能会发生坏事”——Apple 人类程序员的绝妙证据!

我看到了这个问题email with audio,它报告了我的一个错误。因此,我尝试将附件的 mime 类型更改为 text/xml 这没有任何区别,并完全删除附件,此时错误发生了。

那么 - 这可能会导致崩溃,还是安全?

【问题讨论】:

  • 嘿@Andiih你找到解决这个问题的方法了吗,我在发送电子邮件后遇到了同样的问题。如果你有任何解决方案,请帮助我。提前致谢...
  • 我忽略了这些错误。没有连锁问题。

标签: iphone email attachment mfmailcomposeviewcontroller


【解决方案1】:

我之前看到过“无法打开锁定文件”消息,它似乎是良性的。我不知道“到 DADaemon 的管道”消息,这可能与邮件无关。

【讨论】:

  • 它的邮件相关的没问题 - 如果我删除附件,两者都会消失。
  • 它出去进行用户测试。我必须假设它是良性的。如果不是,他们很快就会告诉我!
  • 任何用户测试投诉??有没有人注意到什么?我也有错误,但只能通过控制台来判断。我没有看到任何性能下降。有什么解决办法吗?
【解决方案2】:

我在我的 MFMailComposeViewController 中收到此警告“DA|无法在 /tmp/DAAccountsLoading.lock 打开锁定文件。无论如何我们都会加载帐户,但可能会发生不好的事情”,因为我有

[mailViewController addAttachmentData:imageData mimeType:@"image/png" fileName:@""];

我只是设置了名称和扩展名。现在一切正常 =)

[mailViewController addAttachmentData:imageData mimeType:@"image/png" fileName:@"myfile.png"];

【讨论】:

    【解决方案3】:

    我刚开始收到这些相同的消息。一直在设备 iPhone OS 3.1.3 上调试,没有类似问题。

    很明显,当我为发件人输入电子邮件地址时,每个警告都会弹出;对于 TO: 或 CC: 我没有尝试 BCC: 字段。我以前从未见过此调试器消息,我只是将可达性类添加到 app.在确定可达性方面一切正常,我没有更改应用程序的 MFMailComposer 部分中的任何内容,我在之前的视图控制器上启动 MFMailComposer 之前插入了可达性实例。

    对于我尝试输入的电子邮件地址的每个字母,我得到相同的 DA|pipe DADaemon 行,一旦我找到我正在寻找的电子邮件并单击到,它就会停止打印到控制台从列表中添加它。不管怎样,我不喜欢收到这个警告,这不是一件好事。我关闭了附件,但它并没有删除警告。我正在导出为 html 文本,不确定这是否与它有关。我的 didFinishWithResult MFMailComposer 委托方法中没有任何额外内容。我对每个案例都有一条消息,通过 alertView 返回给用户,以告知他们的电子邮件发生了什么。

    寻找解决方案!!!

    【讨论】:

    • 到目前为止,我没有看到任何问题。我也安装了可达性,所以我猜它可能与此有关。
    【解决方案4】:

    我赞同 Carlos Mayoral 的回答。就我而言,我收到此错误是因为我将 mimeType 设置为 @"application/pdf"。原来 pdf 附件 mimeType 需要是 @"pdf" 而不是 @"application/pdf"。一旦我将其更改为“pdf”,错误就消失了。

    【讨论】:

      【解决方案5】:

      试试这个

      NSArray *paths = NSSearchPathForDirectoriesInDomains(                                                         NSDocumentDirectory, NSUserDomainMask, YES); 
      NSString *documentsDirectory = [paths objectAtIndex:0]; 
      NSString *path = [documentsDirectory stringByAppendingPathComponent:@"mytrack.kml"];
      NSData *myData = [NSData dataWithContentsOfFile:path];
      [picker addAttachmentData:myData mimeType:@"text/xml" fileName:@"mytrack.kml"];
      

      【讨论】:

      • 谢谢。下次我在那个项目上遇到问题时会看看。
      猜你喜欢
      • 1970-01-01
      • 2011-12-29
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多