В отправленной почте с помощью iPhone нет вложений - PullRequest
0 голосов
/ 11 апреля 2010

Я пытаюсь отправить записанный звуковой файл в виде вложения с помощью MFMailComposeViewController.

Звуковой файл в порядке.

Средство выбора показывает правильное имя файла, показывает значок аудиофайла как вложение, отправляет письмо, но в результате нет вложения.

Я прикрепил ниже источник отправленной почты. Вместо "Content-Disposition: attachment" есть часть типа содержимого text / plain. как и ожидалось.

Это мой код для определения пути и прикрепления аудиофайла. Что может быть не так?

#define DOCUMENTS_FOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]
#define FILEPATH [DOCUMENTS_FOLDER stringByAppendingPathComponent:[self dateString]]

...

NSURL *url = [NSURL fileURLWithPath:FILEPATH];
self.recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];

...

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
NSURL *url = [NSURL fileURLWithPath: [NSString stringWithFormat:@"%@", [self.recorder url]]];
NSData *audioData = [NSData dataWithContentsOfFile:[url path]];
[picker addAttachmentData:audioData mimeType:@"audio/wav" fileName:[[url path] lastPathComponent]];

и источник отправленной почты:

Content-type: multipart/mixed; boundary=Apple-Mail-1-614960740
Content-transfer-encoding: 7bit
MIME-version: 1.0 (iPod Mail 7E18)
Subject: Sound message:
Date: Sun, 11 Apr 2010 11:58:56 +0200

X-Mailer: iPod Mail (7E18)

--Apple-Mail-1-614960740

Content-Type: text/plain;
    charset=us-ascii;
    format=flowed
Content-Transfer-Encoding: 7bit

It is a text here

--Apple-Mail-1-614960740
Content-Type: text/plain;
    charset=us-ascii;
    format=flowed
Content-Transfer-Encoding: 7bit

Sent from my iPod
--Apple-Mail-1-614960740--

1 Ответ

0 голосов
/ 12 апреля 2010

Я обнаружил, что [url path] не подходит для dataWithContentsOfFile, я использовал [[self.recorder url] path], и он отлично работает.

...