iOS 10: la aplicación se bloquea Para acceder a la biblioteca fotográfica o a la camera del dispositivo a través de UIImagePickerController

Debajo está mi código para acceder a la biblioteca fotográfica.

-(void)click_gallery { if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { UIImagePickerController *imgPicker= [[UIImagePickerController alloc] init]; UIColor* color = [UIColor colorWithRed:46.0/255 green:127.0/255 blue:244.0/255 alpha:1]; [imgPicker.navigationBar setTintColor:color]; imgPicker.delegate = self; imgPicker.allowsEditing = YES; imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentViewController:imgPicker animated:NO completion:Nil]; } } 

Y aborta con

Esta aplicación intenta acceder a datos confidenciales sin una descripción de uso. El Info.plist de la aplicación debe contener una key NSCameraUsageDescription con un valor de cadena que explica al usuario cómo la aplicación utiliza estos datos.

 libsystem_kernel.dylib`__pthread_kill: 0x109955efc <+0>: movl $0x2000148, %eax ; imm = 0x2000148 0x109955f01 <+5>: movq %rcx, %r10 0x109955f04 <+8>: syscall -> 0x109955f06 <+10>: jae 0x109955f10 ; <+20> 0x109955f08 <+12>: movq %rax, %rdi 0x109955f0b <+15>: jmp 0x1099507cd ; cerror_nocancel 0x109955f10 <+20>: retq 0x109955f11 <+21>: nop 0x109955f12 <+22>: nop 0x109955f13 <+23>: nop 

Y obtengo Thread 10: EXC_BAD_INTRUCTION code = exc_i386_invop , el mismo código funcionaba bien en iOS 9. ¿Alguien puede ayudarme a resolver este problema? Gracias por adelantado.

En iOS 10 Tienes que establecer la configuration de privacidad para la camera y la biblioteca de fotos. Privacidad de la configuration de la camera y la foto. Lista

Cámara:

 Key : Privacy - Camera Usage Description Value : $(PRODUCT_NAME) camera use 

Biblioteca de fotos:

 Key : Privacy - Photo Library Usage Description Value : $(PRODUCT_NAME) photo use 

IOS 10 ahora requiere permiso de usuario para acceder a la biblioteca multimedia, fotos, camera y otro hardware como estos. La solución para esto es agregar sus keys en info.plist con una descripción para el usuario que explica cómo utilizamos sus datos; iOS ya solicitó permissions para acceder al micrófono, la camera y la biblioteca multimedia antes (iOS6, iOS7), pero desde iOS10 las aplicaciones se bloqueará si no proporciona la descripción por la que solicita el permiso.

Agregue el valor key a continuación en el file Plist.

Hay una list de todas las keys de Cocoa que puede especificar en su file Info.plist

Foto:

 Key : Privacy - Photo Library Usage Description Value : $(PRODUCT_NAME) photo use 

Micrófono:

 Key : Privacy - Microphone Usage Description Value : $(PRODUCT_NAME) microphone use 

Cámara:

 Key : Privacy - Camera Usage Description Value : $(PRODUCT_NAME) camera use