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);
});
});
그럼, "여기서 filePath" @에 저장된 콘텐츠를 사용하여 문서는 QLPreviewController
를 표시합니다. 내가 그것을 시도하고 그것을 모달로 제시하고 두 경우 모두 그냥 문서의 이름과 크기와 회색 페이지를 표시합니다.
프로젝트를 github에 업로드 할 수 있습니까? 그래서 세부 사항을 알 수 있습니다. 감사합니다. – aircraft
@ QQ726535609 안녕하세요. 개인이 아니기 때문에 프로젝트를 공유 할 수 없습니다. 그러나 필요한 정보가 무엇인지 알려 주시면 알려 드리겠습니다. 감사! – bperezme
다운로드 한 컨텐츠가 유효하다고 확신하는 경우, bugreport.apple.com에 레이더 파일을 작성해야합니다. – Raffael