MFMailComposeViewController не редактируется в iOS 8 Xcode 6

Для отображения листа электронной почты я использую следующий код. Появляется лист, но я не могу редактировать тему, тело. Я даже не могу нажать кнопки отмены или отправки. Вот моя реализация:

class PeopleListTableViewController: UITableViewController,SWTableViewCellDelegate,UINavigationControllerDelegate,MFMailComposeViewControllerDelegate, NSXMLParserDelegate { func showEmailSheet(person :Person) { if MFMailComposeViewController.canSendMail() { let mailViewController = MFMailComposeViewController() mailViewController.mailComposeDelegate = self mailViewController.setToRecipients([person.email!]) self.presentViewController(mailViewController, animated: true, completion: nil) } } 

Что я делаю не так?

3 Solutions collect form web for “MFMailComposeViewController не редактируется в iOS 8 Xcode 6”

Вот рабочий код из одного из моих проектов. Обязательно работайте с формой на устройстве iOS, а не в симуляторе.

 import UIKit import MessageUI class ViewController: UIViewController, MFMailComposeViewControllerDelegate { @IBAction func launchEmail(sender: AnyObject) { var emailTitle = "Feedback" var messageBody = "Feature request or bug report?" var toRecipents = ["youraddress@gmail.com"] var mc: MFMailComposeViewController = MFMailComposeViewController() mc.mailComposeDelegate = self mc.setSubject(emailTitle) mc.setMessageBody(messageBody, isHTML: false) mc.setToRecipients(toRecipents) self.presentViewController(mc, animated: true, completion: nil) } func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) { switch result.value { case MFMailComposeResultCancelled.value: println("Mail cancelled") case MFMailComposeResultSaved.value: println("Mail saved") case MFMailComposeResultSent.value: println("Mail sent") case MFMailComposeResultFailed.value: println("Mail sent failure: %@", [error.localizedDescription]) default: break } self.dismissViewControllerAnimated(true, completion: nil) } } 

У меня такая же проблема в Xcode6 и iOS8.

Однако я заметил, что это проблема эмулятора. Следующий код работает на iOS8, но только на устройстве (а не на эмуляторе)!

 MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init]; if([MFMailComposeViewController canSendMail]) { composer.mailComposeDelegate = self; messageContent=[NSString stringWithFormat:@"Bla bla"]; [composer setSubject:@"The subject"]; [composer setMessageBody:messageContent isHTML:NO]; [composer setToRecipients:[NSArray arrayWithObject:[NSString stringWithFormat:@"Vincent@xxxxx.com"]]]; [composer setCcRecipients:nil]; [composer setBccRecipients:nil]; [composer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; [self presentViewController:composer animated:YES completion:nil]; } 

Я пришел с таким простым решением:

 //outlet & btns @IBOutlet weak var forgotEmail: UITextField! @IBAction func resetPW(sender: AnyObject) { // send email var mailer = MFMailComposeViewController() mailer.mailComposeDelegate = self mailer.setSubject("Forgot Password") mailer.setToRecipients(["admin@someMail.com"]) presentViewController(mailer, animated:true, completion: nil) } 

PS: «setToRecipients» работает только на реальном устройстве, а не в симуляторе!

  • Круглые верхние углы UIButton in Swift
  • Как установить размер ячейки коллекции, точно равный представлению коллекции в iOS?
  • Использование VTCompressionSession, как в WWDC2014
  • Использование RestKit в Swift
  • Как сохранить видео с AVAssetExportSession в Camera Roll?
  • Нажмите / выберите узел в SceneKit (Swift)
  • Firebase iOS Вход в Google - использование незаявленного типа GIDSignInDelegate
  • Как отделить emojis, введенный (через клавиатуру по умолчанию) в текстовое поле
  • Как получить доступ к быстрому классу в объектно-c файле
  • self.tableView.delegate = self Swift
  • MPMusicPlayer Ошибка домена = MPErrorDomain Code = 4?
  • Interesting Posts

    Как правильно использовать SharedInstance в Cydia Tweak?

    TableView Showing Behind Tab Bar

    Как сделать что-то после завершения сеанса?

    Загрузка сборки в Testflight IOS

    Как определить константу на основе типа устройства (iPad / iphone)

    фатальная ошибка: индекс вне диапазона

    Ошибка кодового знака с проектом Swift

    iOS лучший способ изменить пользовательский интерфейс при изменении ориентации

    Как отключить выделение выделения UITableView?

    DismissViewControllerAnimated EXC_Bad_ACCESS на true

    Вход iOS сфокусирован на фиксированных родительских остановках. Обновление фиксированных элементов

    Несколько массивов аннотаций, разные цвета контактов для каждого массива?

    Как предотвратить UIWebView от подгонки содержимого страницы до ширины экрана (ни масштабированной, ни переплавленной)?

    этот класс не является ключевым значением, совместимым с кодировкой для ключа setOutput

    Проблема с контроллером iOS MPMovieplayer

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.