[FIXED] Woher weiß ich, ob ein PHAsset modifiziert wurde?

Ausgabe

Genauer gesagt, wie können Sie wissen, ob eine PHAssetaktuelle Version des zugrunde liegenden Vermögenswerts anders als das Original ist?

Mein Benutzer sollte nur bei Bedarf zwischen dem aktuellen oder dem ursprünglichen Asset wählen müssen. Und dann brauche ich ihre Antwort für PHImageRequestOptions.version.

Lösung

Verfügt ab iOS 16 PHAssetüber eine hasAdjustmentsEigenschaft, die angibt, ob das Asset bearbeitet wurde.

Für frühere Versionen können Sie eine Reihe von Datenressourcen für ein bestimmtes Asset über die PHAssetResourceAPI abrufen – es gibt eine Anpassungsdatenressource, wenn dieses Asset bearbeitet wurde.

let isEdited = PHAssetResource.assetResources(for: asset).contains(where: { $0.type == .adjustmentData })

Beachten Sie, dass Sie, wenn Sie tatsächlich mit einer Ressourcendatei arbeiten möchten, ihre Daten mithilfe einer PHAssetResourceManagerAPI abrufen müssen. Beachten Sie auch, dass diese Methode sofort zurückkehrt – im Gegensatz zu anderen Antworten hier muss nicht auf eine asynchrone Netzwerkanforderung gewartet werden.


Beantwortet von –
Jordan H


Antwort geprüft von –
Mary Flores (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like