我收到此行为使用Xcode 8.0
。问题是,在下载文件并将其存储在文档目录(下面提供的代码)后,QLPreviewController
仅显示文档的名称和大小。属性currentPreviewItem返回正确的路径文件。更奇怪的是,如果我尝试从我的应用程序中的另一个控制器打开该文档,它可以正常工作。我实施了QLPreviewControllerDelegate和QLPreviewControllerDataSource。QLPreviewController不显示保存的文件
代码下载和保存文件:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
NSURL *url = [NSURL URLWithString:file[@"url"]];
NSData *data = [NSData dataWithContentsOfURL:url];
if (!data) {
completion([NSError new]);
return;
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:AppName];
path = [path stringByAppendingPathComponent:file[@"name"]];
file[@"filePath"] = [NSURL fileURLWithPath:path];
dispatch_async(dispatch_get_main_queue(), ^{
[[NSFileManager defaultManager] createFileAtPath:path contents:data attributes:nil];
completion(nil);
});
});
然后,当用户选择我使用保存在@“文件路径”内容的文件显示QLPreviewController
。我尝试过推送它并以模态方式呈现它,在这两种情况下,它只是显示一个带有文档名称和大小的灰色页面。
你可以上传你的项目到github吗?所以我可以知道细节,谢谢。 – aircraft
@ QQ726535609你好,我不能分享这个项目,因为它不是个人的。但是,如果您能告诉我您需要哪些信息,我会提供给您。谢谢! – bperezme
如果您确定下载的内容是有效的,您应该在bugreport.apple.com上提供雷达文件 – Raffael