私は 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 の一部のリソースでは機能し、他のリソースでは機能しないのはなぜですか)?
助けてくれてありがとう