Muss ich alle iCloud-Dateien herunterladen, um deren Thumbnails erstellen zu können?
Ich habe alle Antworten zum Stapelüberlauf über diesen Fehler gelesen und keine hat den Fall gelöst, da meine Frage etwas anders ist.
Ich zähle iCloud-Laufwerkselemente aufNSMetadataItem
und speichern sie in einem Array.
Die Dateien sind da: Bestätigt durch Betrachten des iCloud-Ordners unter OS X und auch auf dem Gerät mitUIDocumentPicker
.
Nach dem Code versuche ich, die Thumbnails solcher Elemente abzurufen:
// self.item is a NSMetadataItem
NSURL *fileURL = [self.item valueForAttribute:NSMetadataItemURLKey];
AVAsset *asset = [AVAsset assetWithURL:fileURL];
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(1, 60);
AVAssetImageGeneratorCompletionHandler handler = ^(CMTime requestedTime, CGImageRef im, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error){
if (result != AVAssetImageGeneratorSucceeded) {
NSLog(@"couldn't generate thumbnail, error:%@", error);
}
// TODO Do something with the image
};
generator.maximumSize = size;
[generator generateCGImagesAsynchronouslyForTimes:@[[NSValue valueWithCMTime:time]]
completionHandler:handler];
Ich erhalte diesen Fehler im Handler:
konnte keine Miniaturansicht erstellen, Fehler: Fehler Domain = NSURLErrorDomain Code = -1100 "Die angeforderte URL wurde auf diesem Server nicht gefunden." UserInfo = {NSLocalizedDescription = Die angeforderte URL wurde auf diesem Server nicht gefunden., NSUnderlyingError = 0x15f82b2a0 {Fehlerdomäne = NSPOSIXErrorDomain Code = 2 "Keine solche Datei oder solches Verzeichnis"}}
das Problem liegt bei der URL, aber die URL wird direkt aus dem "NSMetadataItem" extrahiert und hat die Form
file: ///private/var/mobile/Library/Mobile%20Documents/iCloud~com~myCompany~myApp/Documents/0%20-%20intro.mo
... in diesem Fall heißt der Film0 - intro.mov
Ich habe 3 andere Methoden ausprobiert, um die Thumbnails herunterzuladen. Keiner funktioniert.
Durchbruc
Ich habe jetzt festgestellt, dass ich alle Dateien herunterladen muss, die sich auf dem iCloud-Laufwerk befinden (mitstartDownloadingUbiquitousItemAtURL:error:
) Um auf dem Gerät ihre Thumbnails erstellen zu können, scheint das Wahnsinn zu sein. Stellen Sie sich vor, Sie haben mehrere Gigabyte an Videos per Fernzugriff und müssen alle Dateien herunterladen, um ihre Miniaturansichten anzuzeigen.
Es muss anders existieren. Der Beweis ist, dass dasUIDocumentPicker
zeigt die Miniaturansichten aller Videos, die sich in iCloud befinden, ohne sie herunterzuladen.
Irgendwelche Hinweise