Usando la iOS 10.0
última beta. Intenté usar la Cámara para escanear el código de barras en mi aplicación, y se bloqueó con este error de tiempo de ejecución.
Esta aplicación se ha bloqueado porque intentó acceder a datos sensibles a la privacidad sin una descripción del uso. El Info.plist de la aplicación debe contener una clave NSCameraUsageDescription con un valor de cadena que explique al usuario cómo la aplicación utiliza estos datos.
¿Poner esta llave en la lista, pero aún así se bloqueó?
Respuestas:
Después de iOS 10, debe definir y proporcionar una descripción de uso de todos los datos sensibles a la privacidad del sistema a los que accede su aplicación en Info.plist como se muestra a continuación:
Calendario
Recordatorio:
Contacto:
Foto:
Compartir Bluetooth:
Micrófono:
Cámara:
Ubicación :
Heath:
HomeKit:
Mediateca :
Movimiento:
Reconocimiento de voz :
SiriKit:
Proveedor de TV:
Puede obtener información detallada en este enlace.
fuente
Privacy - Photo Library Usage Description
lo hizo por el errorNSPhotoLibraryUsageDescription
A medida que Apple ha cambiado, puede acceder a los tipos de datos privados de cualquier usuario
iOS 10
.Debe agregar la
Privacy - Camera usage description
clave " " a la información de su aplicaciónInfo.plist
y de su uso, que se aplica a su aplicación, como en el ejemplo a continuación que proporcioné para escanear códigos de barras.Para obtener más información, encuentre la siguiente captura de pantalla.
fuente
Debe agregar esta clave a continuación en info.plist.
NSCameraUsageDescription
OPrivacy - Camera usage description
Y agregue una descripción del uso.
Capturas de pantalla detalladas están disponibles en este enlace
fuente
Alternativamente, abra Info.plist como código fuente y agregue esto:
fuente
"NSCameraUsageDescription" = "Requires access to the camera";
su archivo infoPlist.strings localizadoUse estos valores brutos y copie en info.plist
fuente
la interfaz de usuario de xcode ha cambiado un poco de una versión a la siguiente, así que aquí es donde actualiza el plist para 9.0 beta 4 si ayuda a Project -> Target -> Info
fuente
<key>NSCameraUsageDescription</key>
a info.plist .<key>NSCameraUsageDescription</key>
al segundo archivo info.plist , pero sin ningún efecto, y puedo confirmar que XCode (10.1) definitivamente no está teniendo en cuenta esos cambios ejecutando el estado de git , porque mi info.plist para otro objetivo no tuvo ningún cambio. Entonces, la forma correcta es pasar por el Proyecto-> Destino-> Información . ¡Gracias hombre!Otra instancia a la que me enfrenté al tratar de usar la cámara, fue que todavía estaba ocupado fallando dándole lo mismo
_CRASHING_DUE_TO_PRIVACY
incluso después de agregar la "Descripción del uso de la cámara". Después de no poder obtener nada tangible de la pila de llamadas, cambió al "Organizador" y examinó los informes de fallas en el dispositivo. Descubrí que, de hecho, se quejaba de la privacidad debido a la "Descripción de uso del micrófono" que faltaba. Agregué eso y me deshice de un colapso tan críptico.fuente
Para aquellos que todavía reciben el error a pesar de que agregó las claves adecuadas en Info.plist:
Asegúrese de agregar la clave en la lista de información correcta. La versión más nueva de xCode, aparentemente tiene 3 Info.plist.
Uno está debajo de la carpeta con el nombre de su aplicación, lo que me resolvió el problema.
El segundo está bajo YourappnameTests y el tercero está bajo YourappnameUITests.
Espero eso ayude.
fuente
Si está utilizando Ionic, puede resolverlo directamente desde config.xml agregando la etiqueta ios de la plataforma interna:
Me gustaría agradecer a @BHUPI la respuesta también.
fuente
Para ello, agregue una clave de uso a la Lista de información de su aplicación junto con una cadena de propósito. NSCameraUsageDescription Especifica el motivo por el cual su aplicación accede a la cámara del dispositivo
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html
fuente
Revisé el plist y descubrí que no funciona, solo en la información del "proyecto", debe agregar "Privacidad - Cámara ...", entonces debería funcionar. Espero poder ayudarte.
fuente
Tuve el mismo problema y no pude encontrar una solución. Mark90 tiene razón, hay muchos archivos info.plist y debe editar el correcto. Vaya a Proyecto, en OBJETIVOS seleccione el proyecto (no las pruebas), en la barra de pestañas seleccione Información y agregue el permiso en " Propiedades de destino de iOS personalizadas ".
fuente