Obtenga la URL de un activo recién creado, estilo iOS 9

ALAssetsLibrary está en desuso en estos días, pero prácticamente todos los ejemplos en SO todavía lo están utilizando. Para mi objetivo, necesito saber la URL del video que se agregó a la Biblioteca de fotos para poder compartir un video en la aplicación de Instagram (esa es la única forma en que Instagram acepta videos). La URL probablemente debería comenzar con "assets-library: // ..."

Esto es simple conALAssetsLibrary:

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

Arriba, la URL se pasa como argumento al bloque de finalización. Pero, ¿qué pasa con la forma compatible con iOS 9?PHPhotoLibrary clase yperformChanges ¿método?

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?
    }
})

Respuestas a la pregunta(2)

Su respuesta a la pregunta