我的应用程序有一个文档交互控制器,用于打开其他应用程序中的文档.以下代码显示一个按钮,用于打开"打开方式"菜单,允许用户在其他应用程序中打开文件 - 例如,如果用户在"打开方式"菜单中选择了邮件应用程序,则通过邮件发送,邮件应用程序创建一封新电子邮件,并自动将该文件附加到邮件正文.
以下代码在iOS7中运行良好,但在iOS8 +上停止运行良好.文件未附加到邮件,我收到错误日志消息.
UIDocumentInteractionController声明:
@property (nonatomic, strong) UIDocumentInteractionController* interactionController;
Run Code Online (Sandbox Code Playgroud)
初始化:
self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:self.url];
self.interactionController.delegate = self;
self.interactionController.name = self.file.name;
Run Code Online (Sandbox Code Playgroud)
要求"打开"菜单:
[self.interactionController presentOpenInMenuFromBarButtonItem:self.openInBarButtonItem animated:YES];
Run Code Online (Sandbox Code Playgroud)
打开excel文件后收到的错误消息示例:
提供的未知活动项目:({"com.microsoft.excel.xls"= <504b0304 .... 000000>;},"")
viewServiceDidTerminateWithError:Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3"无法完成操作.(_UIViewServiceInterfaceErrorDomain error 3.)"UserInfo = 0x ... {Message = Service Connection Interrupted}(lldb).
我很感激任何想法来解决这个问题.
谢谢,Ori
这是我的代码
BOOL IOS8=SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0");
if (IOS8){
if ([interactionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]) {
NSLog(@"menu is presented");
}
Run Code Online (Sandbox Code Playgroud)