Ich wollte in der Lage sein, eine URL für ein Asset zu erhalten. Allerdings habe ich festgestellt, dass die localIdentifier
stattdessen persistiert werden kann und verwendet, um die PHAsset
wiederherzustellen.
PHAsset* legacyAsset = [PHAsset fetchAssetsWithALAssetUrls:@[assetUrl] options:nil].firstObject;
NSString* convertedIdentifier = legacyAsset.localIdentifier;
(vorher Methode wird verworfen ...)
-
:
PHAsset* asset = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil].firstObject;
Legacy-Asset-URLs können mit umgewandelt werden (Danke holtmannlocalIdentifier
ist versteckt in PHObject
.)
Gute Eins. Wird diese Beziehung dokumentiert? Wenn nicht, wo/wie hast du das entdeckt? Haben Sie bemerkt, dass die GUID-Zeichenfolgen gleich sind? –
Nicht dokumentiert, sah ich, dass die GUID-Zeichenfolgen die gleichen sind und es sinnvoll ist, da sowohl das PhotoKit als auch die AssetsLibrary mit den gleichen CoreData-Objekten unter der Haube arbeiten - dies ist also nur die UUID des Coredata-Objekts. Ich würde diese Methode lieber private API-Aufrufe verwenden. – holtmann
Nun, Requisiten. Ich werde ein bisschen auf dem grünen Scheck für eine dokumentierte Antwort halten, da das, was ich gefragt habe, aber das hat mich viel erleichtert. Vielen Dank. –