我正在使用 UIDocumentInteractionController 以这种方式显示图像、录音、视频等:
NSURL *URL = [[NSBundle mainBundle] URLForResource:@"2013-08-01 13_20_44 (id)" withExtension:@"mov"];
或者
NSData* dataFile = [dict objectForKey:@"FileData"];
NSString *urlString = [[NSString alloc] initWithData:dataFile encoding:NSUTF8StringEncoding]; // Or any other appropriate encoding
NSURL *URL = [[NSURL alloc] initWithString:urlString];
然后:
if (URL) {
// Initialize Document Interaction Controller
documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL];
// Configure Document Interaction Controller
[documentInteractionController setDelegate:self];
// Preview PDF
[documentInteractionController presentPreviewAnimated:YES];
}
通过从 mainBundle 访问文档,有时它可以工作,但有时我会收到以下错误:
2014-05-23 12:25:54.648 Cleverly[362:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initWithString:relativeToURL:]: nil string parameter'
使用 NSData 方式,我总是能得到它(NSData 没有损坏,我可以用其他方式打开它)。
1)这是为什么?2)我怎样才能防止它至少崩溃?3)错误是什么意思?(为什么它适用于 mainBundle 中的某些资源而不适用于其他资源)?
提前感谢您的帮助