2017-10-19 101 views
1

我尝试使用Apple App Thinning功能(可从iOS 9下载),该功能可以根据设备体系结构和功能区分资源。在我的情况下,我想要做的是在应用程序包中使用不同的视频文件(格式为.mp4),其中一个用于iPhone,另一个用于使用Xcode .xcassetsData Set的iPad。播放使用NSDataAsset存储的视频(Xcode xcassets)

要从.xcassetsData Set苹果检索文件提供了NSDataAsset类,但是:因为AVPlayer需要URL播放视频和NSDataAsset仅提供使用Data格式的内容,我无法播放视频。

我想要做的是检索NSDataAsset.dataURL。可能吗?

+1

你可以看看https://stackoverflow.com/questions/23644193/can-i-create-an-nsurl-that-refers-to-in-memory-的NSData – notsoux

回答

0

你可以试试:

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 
}