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)
- ¿Por qué el IMX 204, un sensor de cámara de teléfono inteligente construido por Sony, nunca utilizado por ninguna compañía? Su tamaño, área de píxeles y salida es probablemente el mejor.
- ¿Cuáles son algunas de las mejores características de la Canon G7X Mark II?
- ¿Fujifilm XP200 es una buena cámara?
- ¿Es una cámara CCTV la mejor cámara? ¿Cuál es el mejor en Jaipur?
- ¿Cómo se toman fotos para lienzos muy grandes (más de 3 metros) y anuncios? ¿Necesito una cámara especial?
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!!!!!!!!!!!!!!!