2

単純なKML添付ファイル(わずか数バイト)を使用してメールを送信しようとすると、送信中にコンソールに以下の警告が表示されます。これらを無視することはできますか、それともエラーを起こしましたか?メールはOKを送信しているようです


- (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の書式設定を台無しにしていたためですが、これはGoogleマップへのリンクを含む基本的な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の人間プログラマーの輝かしい証拠!

エラーの1つを報告する音声付きのこの質問メールを見ました。したがって、添付ファイルの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

私はちょうどこれらの同じメッセージを受け取り始めました。デバイスiPhoneOS3.1.3でデバッグを行っていますが、同様の問題はありません。

送信者の電子メールアドレスを入力しているときに、各警告がポップアップすることは明らかです。TO:またはCC:の両方について、BCC:フィールドを試していません。このデバッガーメッセージはこれまで見たことがありません。アプリに到達可能性クラスを追加しただけです。到達可能性を判断するためにすべてが正常に機能しています。アプリのMFMailComposerセクションでは何も変更しませんでした。以前のビューコントローラーでMFMailComposerを起動する前に、Reachabilityインスタンスを接続しました。

入力しようとしているメールアドレスの各文字に同じDA|pipe DADaemon行が表示されます。探していたメールを見つけたらすぐにコンソールへの印刷を停止し、クリックして追加します。リスト。いずれにせよ、私はこの警告を受け取るのが好きではありません、良いことではありません。添付ファイルをオフにしましたが、警告が削除されません。HTMLテキストとしてエクスポートしていますが、それが関係しているかどうかはわかりません。didFinishWithResultMFMailComposerデリゲートメソッドに余分なものは何もありません。ケースごとにメッセージがあり、alertViewを介してユーザーに返され、メールに何が起こったかを通知します。

解決策を探しています!!!

于 2010-03-16T06:46:15.040 に答える
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 に答える
0

私はカルロスマジョラルの答えを2番目にしています。私の場合、mimeTypeを@ "application / pdf"に設定していたため、このエラーが発生していました。pdf添付ファイルmimeTypeは@"application/pdf"ではなく@"pdf"である必要があることが判明しました。「pdf」に変更すると、エラーはなくなりました。

于 2011-12-02T21:05:35.507 に答える