2017-10-19 15 views
1

Ich versuche, Apple App Thinning Funktion zu verwenden (verfügbar von iOS 9), mit der Sie Ressourcen basierend auf Gerätearchitektur und Funktionen unterscheiden können. In meinem Fall, was ich tun möchte, ist eine andere Videodatei im Anwendungspaket (in .mp4 Format) eine für das iPhone und eine für das iPad mit Xcode .xcassetsData Set.Abspielen eines Videos mit NSDataAsset (Xcode xcassets)

Um eine Datei von einem .xcassetsData Set Apple stellt die NSDataAsset Klasse abzurufen, aber: da AVPlayer ein URL braucht ein Video zu spielen und NSDataAsset bietet nur seinen Inhalt Data Format, ich bin nicht in der Lage das Video zu spielen.

Was Ich mag würde tun, ist die NSDataAsset.dataURL retrive. Ist es möglich?

+1

Sie bei https://stackoverflow.com/questions/23644193/can-i-create-an-nsurl-that-refers-to-in-memory- aussehen nsdata – notsoux

Antwort

0

können Sie versuchen:

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 
} 
Verwandte Themen