Ausgabe
Genauer gesagt, wie können Sie wissen, ob eine PHAsset
aktuelle 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 hasAdjustments
Eigenschaft, 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 PHAssetResource
API 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 PHAssetResourceManager
API 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)