Я хотел бы создать файл с помощью NSString (уже сделанного) с расширением .csv, а затем отправить его по электронной почте с использованием инфраструктуры UIMessage. Так может ли кто-нибудь показать мне код для создания файла (с расширением .csv и с содержимым NSString), то как подключить его к MFMailComposeViewController.Email CSV-файл с MFMailComposer
2
A
ответ
11
Это, как вы вложите файл CSV в MFMailComposeViewController:
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
[mailer setSubject:@"CSV File"];
[mailer addAttachmentData:[NSData dataWithContentsOfFile:@"PathToFile.csv"]
mimeType:@"text/csv"
fileName:@"FileName.csv"];
[self presentModalViewController:mailer animated:YES];
// Note: PathToFile.csv is the actual path of the file on your iOS device's
// file system. FileName.csv is what it should be displayed as in the email.
Насколько, как генерировать CSV сам файл, то CHCSVWriter класс в https://github.com/davedelong/CHCSVParser поможет вам.
3
Вот части, где вы создаете новый csv, сохраните его в файле и прикрепите его в одном. Вы знаете, если вы находитесь в таком виде
NSString *emailTitle = @"My Email Title";
NSString *messageBody = @"Email Body";
MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;
[mc setSubject:emailTitle];
[mc setMessageBody:messageBody isHTML:NO];
[mc setToRecipients:@[]];
NSMutableString *csv = [NSMutableString stringWithString:@""];
//add your content to the csv
[csv appendFormat:@"MY DATA YADA YADA"];
NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* fileName = @"MyCSVFileName.csv";
NSString* fileAtPath = [filePath stringByAppendingPathComponent:fileName];
if (![[NSFileManager defaultManager] fileExistsAtPath:fileAtPath]) {
[[NSFileManager defaultManager] createFileAtPath:fileAtPath contents:nil attributes:nil];
}
BOOL res = [[csv dataUsingEncoding:NSUTF8StringEncoding] writeToFile:fileAtPath atomically:NO];
if (!res) {
[[[UIAlertView alloc] initWithTitle:@"Error Creating CSV" message:@"Check your permissions to make sure this app can create files so you may email the app data" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles: nil] show];
}else{
NSLog(@"Data saved! File path = %@", fileName);
[mc addAttachmentData:[NSData dataWithContentsOfFile:fileAtPath]
mimeType:@"text/csv"
fileName:@"MyCSVFileName.csv"];
[self presentViewController:mc animated:YES completion:nil];
}
+0
спасибо, это мне очень помогло – dowi
Смежные вопросы
- 1. MFMailComposer toReceiptsText с задержкой
- 2. Сбой MFMailComposer
- 3. Неправильно с MFMailComposer Внешний вид
- 4. MFMailComposer Увольнение сразу после запуска
- 5. Невозможно изменить язык MFMailComposer?
- 6. Как отправить ссылку через MFMailComposer?
- 7. MFMailComposer не работает в устройстве?
- 8. Отправить e-mail без использования MFMailComposer
- 9. Утечка памяти при использовании MFMailComposer
- 10. MFMailComposer отправка прилагается Изображение уменьшено
- 11. Кнопка отправки MFmailcomposer не отключена ...?
- 12. Прикрепление текстового файла с использованием MFMailComposer в iPhone SDK
- 13. ios отправка вложений docx с mfMailComposer не работает
- 14. представляет собой контроллер вида, как MFMailComposer
- 15. Parsing email email
- 16. Email Intent Email Chooser
- 17. MFMailComposer отправки прикрепленного размера изображения увеличен
- 18. если заявление для MFMailComposer dosn`t работы
- 19. Какой протокол использует MFMailComposer для отправки почты?
- 20. уменьшенные изображения при подключении к MFMailComposer
- 21. Use Email Email Notification
- 22. Сегментированный контроль с помощью ViewControllers Вопрос о ротации MFMailComposer
- 23. MFMailComposer не подходит с цветовой темой моего приложения
- 24. iPhone для использования MFMailComposer для отправки электронной почты из приложения?
- 25. Email сфотографироваться с imagePickerController
- 26. Отправить email с wpf
- 27. Дубликат Email с Capybara
- 28. EMAIL с веб-сервера
- 29. Android Email проверки с «@»
- 30. Email с помощью JavaScript
Что вы пробовали? Существует метод под названием 'addAttachmentData: mimeType: fileName:'. Каким образом это не работает? –
@ stephen-darlington Да, я знаю, как это использовать, но мне просто интересно, как сделать CSV-файл, а затем сжать его в NSData, чтобы я мог его прикрепить. – ManOx