Воспроизвести видео, сохраненное с использованием NSDataAsset (XCode xcassets)

Я пытаюсь использовать функцию Apple App Thinning (доступную в iOS 9), которая позволяет дифференцировать ресурсы в зависимости от архитектуры устройства и его функций. В моем случае я хотел бы иметь другой видеофайл в комплекте приложений (в .mp4 формат) один для iPhone и один для iPad с использованием Xcode .xcassetsData Set,

Чтобы извлечь файл из .xcassetsData Set Apple предоставляет NSDataAsset класс, но: так как AVPlayer нужен URL играть в видео и NSDataAsset предоставляет только его содержимое, используя Data формат, я не могу воспроизвести видео.

Что я хотел бы сделать, это вернуть NSDataAsset.dataURL, Является ли это возможным?

1 ответ

Ты можешь попробовать:

NSDataAsset *videosDataAsset = [[NSDataAsset alloc] initWithName:@"AssetName"];
NSData *data = videosDataAsset.data;
NSString *filename = @"FileToSaveInto.mp4";
NSURL *URL = [[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject] URLByAppendingPathComponent:filename];

if ([data writeToURL:URL atomically:YES]) {
    // run player
}
Другие вопросы по тегам