Как мне отправить электронное письмо с вложением с iPad

#ios #email #monodevelop #attachment #unity3d

#iOS #Адрес электронной почты #monodevelop #вложение #unity3d

Вопрос:

Я разрабатываю эксперимент в Unity engine (3.4), он должен работать на iPad (iOS5). Я делаю большую часть своих сценариев в Monodevelop (2.4.2). После завершения эксперимента результаты сохраняются в текстовом файле и сохраняются в программе. Я могу получить к ним доступ через синхронизацию с iTunes, но я хочу реализовать дополнительную функцию — я хочу иметь возможность отправлять файл по электронной почте. Для начала адрес электронной почты может быть встроен в программу.

Что мне нужно реализовать, так это:

Если участник закончил:

  1. закройте файл
  2. создайте сообщение, используя встроенный адрес и файл
  3. проверьте, есть ли у ipad доступ к Интернету
  4. если да — отправьте сообщение и поместите его в раздел «отправлено» моего почтового приложения.
  5. если нет — поместите сообщение в поле исходящие моего почтового приложения.

У меня есть опыт работы с графическим интерфейсом и сценариями ввода-вывода, но я почти не занимался сетевым взаимодействием на любом языке программирования, я понятия не имею, с чего начать. Ответы Unity API и Unity были не очень полезными.

Если у вас есть какие-либо полезные ссылки или фрагменты кода, из которых я мог бы извлечь уроки, я был бы очень признателен.

Ответ №1:

вы можете использовать MFMailComposeViewController и прикрепить свои данные в виде NSData следующим образом

 if ([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *controller=[[MFMailComposeViewController alloc]init];
    controller.mailComposeDelegate=self;
    [controller setToRecipients@"..."];
    [controller setSubject:@"Your Subject"];

    NSData* attachmentData = ...
    [controller addAttachmentData:attachmentData mimeType:@"..." fileName:@"..."];
    [self presentModalViewController:controller animated:YES];
    [controller release];
}
  

и не забудьте реализовать делегат для отключения модального контроллера представления почты

 - (void)mailComposeController:(MFMailComposeViewController*)controller     didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
    [self dismissModalViewControllerAnimated:YES];
}
  

пользователю необходимо настроить приложение mail и вручную нажать кнопку отправки