Cómo obtener el último video capturado de un carrete usando el marco de fotos

A través de algunos experimentos, descubrimos una propiedad oculta que no figura en la documentación ( assetSource ). Básicamente, debe hacer una solicitud de búsqueda regular, luego usar un predicado para filtrar los del rollo de la cámara. Este valor debe ser 3.

Código de muestra:

// buscar todos los activos, luego sub recuperar solo el rango que necesitamos
var assets = PHAsset.fetchAssetsWithMediaType (PHAssetMediaType.Image, opciones: fetchOptions)

assets.enumerateObjectsUsingBlock {(obj, idx, bool) -> Anulado en
results.addObject (obj)
}

var cameraRollAssets = results.filteredArrayUsingPredicate (NSPredicate (formato: “assetSource ==% @”, argumentoArray: [3]))
resultados = NSMutableArray (matriz: cameraRollAsse

Si está buscando como yo el código del Objetivo C, y tampoco obtuvo la Respuesta de la nueva biblioteca / Marco de fotos porque estaba obteniendo el código de AssetsLibrary en desuso, entonces esto lo ayudará a: Swift

Variables globales:

var imageArray: [AnyObject]
var mutableArray: [AnyObject]

conveniencia func getAllPhotosFromCamera () {
imageArray = [AnyObject] ()
mutableArray = [AnyObject] ()
var requestOptions: PHImageRequestOptions = PHImageRequestOptions ()
requestOptions.resizeMode = .Exact
requestOptions.deliveryMode = .HighQualityFormat
requestOptions.synchronous = true
Resultado var: PHFetchResult = PHAsset.fetchAssetsWithMediaType (.Image, opciones: nil)
NSLog (“% d”, Int (result.count))
gestor var: PHImageManager = PHImageManager.defaultManager ()
Var imágenes: [AnyObject] = [AnyObject] (minimumCapacity: result.count)
// los activos contienen objetos PHAsset.
var ima: UIImage
para el activo: PHAsset en el resultado {
// Haz algo con el activo
manager.requestImageForAsset (activo

Fuente: http://stackoverflow.com/questions/25730830/how-to-get-only-images-in-the-camera-roll-using-photos-framework

¡¡¡Salud!!! Sígueme para obtener más información técnica.

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Gracias!!!!!!!!!!!!!!!