Ich versuche, eine große Menge von Fotos in der Bibliothek Fotos mit der neuen PHAssetChangeRequest
Klasse in iOS 8 zu speichern. Problem ist, es sieht aus wie der Dämon, der die Fotos speichert unerwartet unerwartet mit einer moderaten Anzahl von Fotos (Ich versuche etwa 500). Hat jemand eine Idee, wie man diese Einschränkung umgehen kann? Ist es ein Speicherproblem im Daemon selbst? Es könnte auch ein Timeout-Limit für den Change-Block sein, da zwischen den ersten beiden Log-Statements darunter eine nicht unbedeutende Lücke liegt.Speichern Sie eine große Anzahl von Fotos mit dem neuen Photos-Framework?
Sollte nicht die assetsd
Daemon bereits für diesen Anwendungsfall werden Buchhaltung, da so etwas wie dies ist ziemlich viel, was das Superkomplex Modell und Design im neuen Foto Rahmen sollen umgehen kann? Das Dokumentationsbeispiel selbst zeigt die Möglichkeit, ein Foto zu speichern.
Hier ist mein Codebeispiel:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
for (NSURL * url in fileURLs) {
PHAssetChangeRequest * assetReq = [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:url];
}
NSLog(@"Added %d assets",fileURLs.count);
} completionHandler:^(BOOL success, NSError *error) {
if (!success){
NSLog(@"%@",error);
}
}];
Und das ist, was meine Ausgabe wie folgt aussieht:
... Added 501 assets
... Connection to assetsd was interrupted or assetsd died
... Error Domain=NSCocoaErrorDomain Code=-1 "The operation couldn’t be completed. (Cocoa error -1.)
Ich habe sogar versucht die synchrone performChangesAndWait
Methode in PHPhotoLibrary
aber es hat auch das gleiche Problem.
Ich bin offen für Vorschläge/Ideen, bin fest! :(
Ich stoße auf ein ähnliches Problem.Ich speichere 4 Bilder, und es funktioniert, aber wenn ich versuche, 4 Bilder erneut zu speichern, um die vorhandenen zu ersetzen, erhalte ich diesen Fehler. Wenn ich eine Lösung gefunden habe, melde ich mich bei Ihnen. – Aggressor
@Aggressor Ich sehe keine Möglichkeit, vorhandene Fotos in der Bilderbibliothek zu "ersetzen". Du könntest sie wieder löschen und hinzufügen, nehme ich an. –
Dieser Fehler scheint von der Speicherüberlastung zu stammen. Ich habe die Dateigröße des UIImage reduziert und das Problem behoben. Ich kann Code schreiben, wenn Sie ihn sehen müssen. – Aggressor