2

在尝试使用简单的 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 人类程序员的绝妙证据!

我已经看到这封带有音频的问题电子邮件,其中报告了我的一个错误。因此,我尝试将附件的 mime 类型更改为 text/xml 这没有任何区别,并完全删除附件,此时错误发生了。

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

4

5 回答 5

1

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

于 2010-02-21T18:17:17.443 回答
1

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

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

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

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

于 2011-03-21T06:10:15.207 回答
0

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

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

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

寻找解决方案!!!

于 2010-03-16T06:46:15.040 回答
0

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

于 2011-12-02T21:05:35.507 回答
0

试试这个

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"];
于 2010-06-30T14:21:01.177 回答