6

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

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

我想做的是检索NSDataAsset .data URL. 可能吗?

4

1 回答 1

-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
}
于 2017-12-14T06:34:36.090 回答