Desactivar la confirmación de la solicitud de eliminación en PHPhotoLibrary

Lo que estoy tratando de hacer es guardar videos en PHPhotoLibrary y luego eliminarlos cuando se completa la carga al servidor remoto de los clientes en la aplicación (básicamente, la biblioteca de fotos sirve como almacenamiento temporal para agregar una capa adicional de seguridad en caso de que algo falle) ya guardo mi video en el directorio de aplicaciones).

Problema:

El problema es que eso funcione, todo tiene que funcionar sin la intervención del usuario. Puede escribir videos en la biblioteca de fotos de esta manera:

func storeVideoToLibraryForUpload(upload : SMUpload) {

    if PHPhotoLibrary.authorizationStatus() != PHAuthorizationStatus.Authorized {

        // Don't write to library since this is disallowed by user
        return
    }

    PHPhotoLibrary.sharedPhotoLibrary().performChanges({ () -> Void in

        // Write asset
        let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(NSURL(fileURLWithPath: upload.nonsecureFilePath!)!)
        let assetPlaceholder = assetRequest.placeholderForCreatedAsset
        let localIdentifier = assetPlaceholder.localIdentifier

        // Store local identifier for later use
        upload.localAssetIdentifier = localIdentifier

    }, completionHandler: { (success, error) -> Void in
        ....
    })
}

Y eso funciona a la perfección, obtengo un identificador local, lo almaceno para su uso posterior ... Unicornios y arcoíris.

Ahora, cuando quiero eliminar ese video inmediatamente después de que finalice la carga, llamo al siguiente:

func removeVideoFromLibraryForUpload(upload : SMUpload) {

    // Only proceed if there is asset identifier (video previously stored)
    if let assetIdentifier = upload.localAssetIdentifier {

        // Find asset that we previously stored
        let assets = PHAsset.fetchAssetsWithLocalIdentifiers([assetIdentifier], options: PHFetchOptions())

        // Fetch asset, if found, delete it
        if let fetchedAssets = assets.firstObject as? PHAsset {

            PHPhotoLibrary.sharedPhotoLibrary().performChanges({ () -> Void in

                // Delete asset
                PHAssetChangeRequest.deleteAssets([fetchedAssets])

            }, completionHandler: { (success, error) -> Void in
                ...
            })
        } 
    }
}

Lo que elimina con éxito el video, PERO el usuario debe confirmar primero la eliminación. Ese es un problema, ya que la copia de seguridad no funcionará.

Obviamente, sé por qué hay una confirmación (por lo que no borra toda la biblioteca de usuario, por ejemplo, pero la cuestión es que mi aplicación hizo el video, por lo que pensé que podría evitarlo, ya que como "propietario" debería no estar haciendo eso, o al menos tener la opción de deshabilitar la confirmación.

¡Gracias por adelantado!

TLDR: ¿Cómo puedo desactivar la confirmación de la solicitud de eliminación, si mi aplicación creó ese contenido? (No quiero eliminar nada más).

Nota: Probablemente alguien pueda decir que esto es algo bastante extraño, pero la aplicación se distribuye internamente y hay buenas razones para hacerlo de esta manera (el contenido de video es demasiado valioso como para perderse, incluso si el usuario elimina la aplicación por algún motivo, o allí es algo que sale mal, necesitamos poder preservar los videos), así que por favor no cuestione eso y solo centre su atención en la pregunta :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta