Как отправить электронное письмо с вложением с iPad - PullRequest
0 голосов
/ 03 ноября 2011

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

Мне нужно реализовать следующее:

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

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

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

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

1 Ответ

0 голосов
/ 08 ноября 2011

вы можете использовать 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];
}

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

...