Estoy usando ELCImagePickerController en mi aplicación y no quiero guardar la pantalla completa seleccionada en mi matriz porque si seleccioné 40 imágenes de iPad, entonces eso no es bueno.¿Cómo obtengo los datos de UIImagePickerControllerReferenceURL?
Quiero obtener datos de UIImagePickerControllerReferenceURL
en lugar de UIImagePickerControllerOriginalImage
del dict del método - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
.
que he intentado:
NSDictionary *dict = [info objectAtIndex:count];
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]];//UIImagePNGRepresentation([UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@",[dict objectForKey:@"UIImagePickerControllerReferenceURL"]]]);
NSLog(@"length %d",[data length]);
imageview.image = [UIImage imageWithData:data];
Sin embargo, cada vez que estoy recibiendo 0 bytes. Lo he intentado con todas las respuestas disponibles en el foro pero sin uso.
¿Alguien puede responder esto por favor?
gracias por su respuesta ... intenté así también aunque en mi log estoy obteniendo longitud como 0 "2012-05-29 18: 32: 13.536 myapp [1793: 707] longitud 0" –
es 0 porque UIImagePickerControllerReferenceURL devuelve el objeto NSURL para la Biblioteca de activos. por lo que debe usar la Biblioteca de activos para obtener imágenes de esta url. As - NSURL * referenceURL = [info objectForKey: UIImagePickerControllerReferenceURL]; ALAssetsLibrary * library = [[ALAssetsLibrary alloc] init]; [library assetForURL: referenceURL resultBlock:^(ALAsset * asset) {...} failureBlock:^(NSError * error) {...}]; – saadnib
Por lo que vale, ALAssetsLibrary está en desuso en iOS 9. Agregué una respuesta adicional a continuación. – Jessedc