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タイプ。これを理解カント..
ため
のおかげでしたwavを送信します。 – r0yalty
これは問題であるようです。NSData * recData = [NSData dataWithContentsOfFile:wavPath];データオブジェクトの長さをテストするとき、常に0ですが、ゼロではありません。 – r0yalty