2012-04-30 20 views
2

iOSアプリケーションからwavファイルを添付しようとしましたが、添付ファイルが合成メールに表示されていても配信されません。目的C - MFMailComposeViewController経由の添付ファイルが表示されない

HERESに関連するコード:

if ([MFMailComposeViewController canSendMail]) { 
    MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init]; 
    controller.mailComposeDelegate = self; 
    [controller setSubject:NSLocalizedString(@"mailTopic", nil)]; 
    [controller setMessageBody:NSLocalizedString(@"mailBody", nil) isHTML:YES]; 
    NSString *wavPath = [self exportAssetAsWaveFormat:self.myRec.soundFilePath]; // CAF->Wav export 

    if (wavPath != nil) { 
     NSLog(@"wavPath: %@", wavPath); 
     NSData *recData = [NSData dataWithContentsOfFile:wavPath]; 
     NSString *mime = [self giveMimeForPath:wavPath]; 
     [controller addAttachmentData:recData mimeType:mime fileName:@"MySound.wav"]; 
     [self presentModalViewController:controller animated:YES]; 
     [controller release]; 
    } 
} 


-(NSString *) giveMimeForPath:(NSString *)filePath { 
    NSURL* fileUrl = [NSURL fileURLWithPath:filePath]; 
    NSURLRequest* fileUrlRequest = [[NSURLRequest alloc] initWithURL:fileUrl cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:.1]; 
    NSURLResponse* response = nil; 

    [NSURLConnection sendSynchronousRequest:fileUrlRequest returningResponse:&response error:nil]; 
    NSString* mimeType = [response MIMEType]; 
    NSLog(@"MIME: %@", mimeType); 
    [fileUrlRequest release]; 

    return mimeType; 
} 

のNSLog結果:

のNSLog(@ "wavPath:%@"、wavPath)。 - > "wavPath:/var/mobile/Applications/71256DCA-9007-4697-957E-AEAE827FD97F/Documents/MySound.wav"

NSLog(@ "MIME:%@"、mimeType); - > "MIME:オーディオ/ WAV"

ファイルパスの継ぎ目OKと(のNSLogデータを参照)、および "オーディオ/ WAV" に設定MIMEタイプ。これを理解カント..

答えて

0

たぶん宛先はそのタイプの添付ファイルを取り除いていますか? .wavを使って手作業でメッセージを送信して、それが機能するかどうか確認しましたか?私はZendeskに送ろうとするのと同じ問題を抱えていました。彼らはいくつかのmimetypeの添付ファイルを取り除くことが分かります。

+0

ため

のおかげでしたwavを送信します。 – r0yalty

+0

これは問題であるようです。NSData * recData = [NSData dataWithContentsOfFile:wavPath];データオブジェクトの長さをテストするとき、常に0ですが、ゼロではありません。 – r0yalty

2

エラーがduuuh .. WAVファイルは、私はそれのうちのNSDataを作成する時間によって書かれた100%でなかったことを私は他のアプリをすることができることを見てきました努力の人たち

関連する問題