Воспроизвести видео, сохраненное с использованием NSDataAsset (XCode xcassets)
Я пытаюсь использовать функцию Apple App Thinning (доступную в iOS 9), которая позволяет дифференцировать ресурсы в зависимости от архитектуры устройства и его функций. В моем случае я хотел бы иметь другой видеофайл в комплекте приложений (в .mp4
формат) один для iPhone и один для iPad с использованием Xcode .xcassets
Data Set
,
Чтобы извлечь файл из .xcassets
Data Set
Apple предоставляет NSDataAsset
класс, но: так как AVPlayer
нужен URL
играть в видео и NSDataAsset
предоставляет только его содержимое, используя Data
формат, я не могу воспроизвести видео.
Что я хотел бы сделать, это вернуть NSDataAsset
.data
URL
, Является ли это возможным?
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
}