我们的iOS应用实现了' Open in'选项。当用户选择我们的应用程序打开文件时,我们使用UIDocumentInteractionController显示该文件。
在app委托中,我们有:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if (url != nil && [url isFileURL])
{
[self.viewController handleDocumentOpenURL:url];
}
return YES;
}
然后
- (void)handleDocumentOpenURL:(NSURL *)url
{
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL fileExists = [fileManager fileExistsAtPath:[url path]];
if (fileExists)
NSLog(@"The file exists");
else
NSLog(@"The file doesn't exists");
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:url];
controller.delegate = self;
[controller presentPreviewAnimated:YES];
}
-(UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
返回自我
它在iOS 7上运行良好但是从iOS 8起它无法正常工作(在iOS 8上)。在iOS 8上,预览器仅显示带有文件名称的灰色屏幕。
这些文件由系统保存在Documents / Inbox文件夹中。
如果我们将文件复制到另一个文件夹并尝试显示该副本,那么它很有用......非常奇怪
有什么想法吗?