我收到此行爲使用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