Ich möchte PHAsset hochladen, aber ich habe nicht den Dateipfad des Assets. Ich kann die Datei mit den folgenden Blockmethoden hochladen. Dies sind jedoch asynchrone Methoden zum Abrufen der URLs. Gibt es eine synchrone Methode, dies zu tun, oder eine andere Möglichkeit, die PHAsset-Dateien hochzuladen?Wie lade ich PHAsset (nur Video und Bild)?
Image-Asset URL:
[asset requestContentEditingInputWithOptions:editOptions
completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {
NSURL *imageURL = contentEditingInput.fullSizeImageURL;
}];
Video-Datei URL:
[[PHImageManager defaultManager]requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
NSURL *url = (NSURL *)[[(AVURLAsset *)asset URL] fileReferenceURL];
}];
Wir müssen mit diesen asynchronen Methoden umgehen. Und berücksichtigen Sie auch für die Dateien, deren URL null ist. Solche Dateien sind nicht auf dem lokalen Gerät vorhanden und stattdessen auf der iCloud vorhanden. –