播放使用NSDataAsset(Xcode xcassets)存储的视频

Alu*_*num 5 ios asset-catalog app-thinning

我正在尝试使用Apple App Thinning功能(可从iOS 9获得),该功能可让您根据设备架构和功能来区分资源。就我而言,我想做的是在应用程序捆绑包中使用.mp4格式(在格式中)另存一个视频文件,其中一个用于iPhone,另一个用于使用Xcode的iPad .xcassets Data Set

.xcassets Data SetApple 检索文件提供了NSDataAsset该类,但是:由于AVPlayer需要URL播放视频,并且NSDataAsset仅使用Data格式提供其内容,因此无法播放视频。

我想做的就是找回NSDataAsset .data URL。可能吗?

Igo*_*sov -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
}
Run Code Online (Sandbox Code Playgroud)