Мне удалось найти ошибку в iOS8.1 при использовании RESideMenu и попытке отправить почту.Ошибка утверждения в MFMailComposeInternalViewController - должна быть отложена презентация
Я использую котельную табличку MFMailComposer (отлично работает на простых проектах), но, кажется, разбивается при вызове в RESIDMenu.
Пробовал нижеследующий код (абсолютно функциональный без RESIDMENU) как в ObjC, так и в Swift, на iPhone6 и iPhone5, без изменений.
var mc: MFMailComposeViewController!
func shareTest()
{
if MFMailComposeViewController.canSendMail()
{
mc = MFMailComposeViewController()
mc.setSubject("subject")
mc.setToRecipients(["[email protected]"])
mc.setMessageBody("...", isHTML: false)
mc.mailComposeDelegate = self
self.presentViewController(mc, animated: true, completion: nil)
}
}
func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
self.dismissViewControllerAnimated(true, completion: nil)
}
Текст утверждение:
*** отказ Assertion в - [MFMailComposeInternalViewController _endDelayingCompositionPresentation], /SourceCache/MessageUI/MessageUI-1466.1.2/Mail/MFMailComposeInternalViewController.m:322
*** Завершение приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «должна иметь задержанную презентацию»
Вызов текущего монитора в диспетчере_после ~ 5 - 10 секунд не решает проблему. Netiher вызывает его из контроллера корневого представления вместо текущего.
Кроме того, поиск «должен иметь задержанную презентацию» не содержит ничего в google.