URL eines neu erstellten Assets im iOS 9-Stil abrufen

ALAssetsLibrary ist heutzutage veraltet, aber praktisch alle Beispiele auf SO machen immer noch davon Gebrauch. Für mein Ziel muss ich die URL des Videos kennen, das zur Fotobibliothek hinzugefügt wurde, damit ich ein Video für die Instagram-App freigeben kann (nur so akzeptiert Instagram Videos). Die URL sollte wahrscheinlich mit "assets-library: // ..." @ beginne

Dies ist einfach mitALAssetsLibrary:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeVideoAtPathToSavedPhotosAlbum:videoFilePath completionBlock:^(NSURL *assetURL, NSError *error) {  // ...

Oben wird die URL als Argument an den Vervollständigungsblock übergeben. Aber was ist mit iOS 9 kompatibel mitPHPhotoLibrary Klasse undperformChanges Methode

var videoAssetPlaceholder:PHObjectPlaceholder!  // property

// ...

let videoURL = NSBundle.mainBundle().URLForResource("Video_.mp4", withExtension: nil)!

let photoLibrary = PHPhotoLibrary.sharedPhotoLibrary()
photoLibrary.performChanges({
    let request = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(videoURL)
    self.videoAssetPlaceholder = request?.placeholderForCreatedAsset
},
completionHandler: { success, error in
    if success
    {
        // The URL of the video asset?
    }
})

Antworten auf die Frage(4)

Ihre Antwort auf die Frage