UIDocumentInteractionController-在iOS8中未解除MailCompose

UIDocumentInteractionController-在iOS8中未解除MailCompose,ios8,app-store,uidocumentinteraction,mfmailcomposer,Ios8,App Store,Uidocumentinteraction,Mfmailcomposer,我有一个非常奇怪(严重)的问题 我的应用程序使用UIDocumentInteractionController共享PDF文档。 当用户在控制器弹出窗口中选择“邮件”选项时,MailCompose窗口打开。 但是,此窗口中的“发送”或“取消”按钮都不会导致MailCompose窗口被关闭,这意味着用户会被卡住,必须关闭应用程序。不过,邮件确实发出了 这里有一个陷阱: 这只发生在iOS8中(目前发布的两个版本),并且只发生在通过AppStore安装的应用程序上。当通过USB调试在我的设备上运行时,该

我有一个非常奇怪(严重)的问题

我的应用程序使用UIDocumentInteractionController共享PDF文档。 当用户在控制器弹出窗口中选择“邮件”选项时,MailCompose窗口打开。 但是,此窗口中的“发送”或“取消”按钮都不会导致MailCompose窗口被关闭,这意味着用户会被卡住,必须关闭应用程序。不过,邮件确实发出了

这里有一个陷阱: 这只发生在iOS8中(目前发布的两个版本),并且只发生在通过AppStore安装的应用程序上。当通过USB调试在我的设备上运行时,该应用程序的版本完全相同

下面是一些代码:

-(void)sharePDF:(id)sender
{
    @try
    {

        NSURL *fileURL = [NSURL fileURLWithPath:currentFileObject.LocalPath];

        if(fileURL)
        {
            //UIDocumentInteractionController

            NSString *newPath;
            @try
            {
                //Create a copy of the file for sharing with a friendly name
                if (currentFileObject.isSpecialReport)
                {
                    newPath = [svc saveReport:[NSData dataWithContentsOfURL:fileURL] ToFile:[NSString stringWithFormat:@"%@.pdf", currentFileObject.ReportName]];
                }
                else
                {
                    newPath = [svc saveReport:[NSData dataWithContentsOfURL:fileURL] ToFile:[NSString stringWithFormat:@"%@.pdf", currentFileObject.PatientFullName]];
                }

            }
            @catch (NSException *exception) {
                return;
            }
            NSURL *newURL = [NSURL fileURLWithPath:newPath];
            self.docController = [UIDocumentInteractionController interactionControllerWithURL:newURL];
            self.docController.delegate = self;
            if (currentFileObject.isSpecialReport)
            {
                self.docController.name = [NSString stringWithFormat:@"Pathology - %@", currentFileObject.ReportName];
            }
            else
            {
                self.docController.name = [NSString stringWithFormat:@"Pathology - %@", currentFileObject.PatientFullName];
            }


            [self.docController presentOptionsMenuFromBarButtonItem:btnShare animated:YES];
        }
    }
    @catch (NSException *exception) {
        return;
    }

}
我没有实现任何委托方法,因为其中没有一个是必需的,我也没有使用预览功能

最让我困惑的是,AppStore中的应用程序与我的本地应用程序的行为不同,尽管代码是相同的。我的下一步是使用新的beta开发者工具(测试飞行)重新发布该应用程序,希望我能复制这个问题

编辑:我在这里发现了一个类似的问题:
读了这篇文章后,我觉得值得一提的是,我通过XCode 5(XCode 6之前的最后一个版本)将应用程序提交到了AppStore。这真的是一个因素吗?苹果是否使用了与最初构建应用程序的版本相同的版本?

我认为这是iOS 8中的一个漏洞,如果它仍然不适用于您,我认为苹果不太可能修复它。我会升级到Xcode 6,看看这是否能为您解决问题。(如你所发现的)。

谢谢。我的应用程序的这个版本已经被审查了15天(将近16天),所以现在我的用户可能还有15天没有电子邮件功能了?唉。