Cordova Info.plist NSCameraUsageDescription key missing

Después de los cambios recientes, Apple necesita keys específicas si su aplicación intenta acceder a datos confidenciales. Entonces agregué la key NSCameraUsageDescription en mi config.xml así:

<platform name="ios"> <config-file parent="NSCameraUsageDescription" target="*-Info.plist"> <string>We are using a camera to </string> </config-file> </platform> 

Entonces

 cordova build ios --release --device 

produce el ipa que aparentemente no tiene la información correcta en info.plist. Parece que me estoy perdiendo algo.

Pregunta 1: ¿Qué necesito poner en config.xml para resolver el problema de NSCameraUsageDescription? Pregunta 2: ¿Es posible usar la localización para esta cadena?

¡Gracias!

No se puede escribir en info.plist desde config.xml con la label config-file todavía (se está trabajando)

La última versión del complemento de la camera le permite agregar NSCameraUsageDescription cuando instala el complemento

cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="your usage message"

En este momento no es posible localizar esta cadena

Aquí hay resultados de mi propia investigación:

    • Sí, puede modificar info.plist desde el file config.xml utilizando la label config-file, pero debe usar un complemento para esa (configuration personalizada cordova) y seguir las instrucciones religiosamente.
    • Sin embargo, probablemente una mejor opción es usar plugin.xml para hacer lo mismo. Más sobre esto, puedes leer aquí (modificando la plistita de información de plugin.xml)
    • Otra opción como @jcesarmobile mencionada: el complemento actual de la camera puede admitirlo como la camera complementaria de cordova ( esta solución es específica para el complemento )
    • Sí, es posible localizar una cadena dentro del file info.plist pero requiere usar xcode para eso. No estoy seguro de cómo localizar una cadena dentro del file info.plist usando Cordova config.xml o plugin.xml

Por favor, corrígeme si me equivoco. Se agradece más información sobre la localización directamente desde config.xml .

Personalmente, no me gusta la idea de usar un complemento personalizado para modificar un file info.plist . Parece que con cada nuevo complemento que uso, mi aplicación se vuelve cada vez más frágil. 🙂

Esto resolverá su problema (si usa el complemento del escáner de código de barras)

Puede editar manualmente el file .plist dentro de su proyecto cordova si lo desea. Esto funcionó para mí, pero dado que este es un file generado, me preocupa que en algún momento mis cambios se vuelvan a escribir.

¡Pero a ayudar!

El file .plist debe ubicarse dentro de su proyecto Cordova dentro de /platforms/ios/[Cordova Project Name]/[Cordova Project Name]-Info.plist . También puede abrir el proyecto en Xcode y, a la izquierda, click el icono de Lupa que le permitirá search files en el proyecto. Si ingresas en info.plist , debería devolver un resultado que muestre algo como:

INFOPLIST_FILE = [Some]/[Path]/[Cordova Project Name]-Info.plist

Esta ruta debe ser relativa a la installation de su proyecto de Cordova, por lo que la búsqueda dentro de su proyecto debe conducirle al file correcto.

Abrí este file en mi editor y agregué las siguientes líneas justo dentro de la primera label <dict> apertura:

<key>NSCameraUsageDescription</key> <string>Uses camera to allow video chatting between two clients</string>

Pude enviar y hacer que mi compilation se muestre y permanezca en itunesconnect. Actualmente sigue pendiente de revisión de la aplicación.

cordova prepare ios una cordova prepare ios para probar si mis cambios terminarían escritos, pero no lo hicieron, por lo que parece que debería ser capaz de hacer esto y no preocuparse por ello, pero estar cansado de que otros desarrolladores instalen su aplicación y se topen con el mismo problema Acabo de copyr mi file .plist actualizado en la raíz de mi repository y lo noté en el file readme.

 $ cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="this app will use your camera" --variable PHOTOLIBRARY_USAGE_DESCRIPTION="this app will access to your photo library" 

Necesita leer dentro de ./plugins/plugin-what-ever/plugin.xml para ver qué tipo de nombres de key son compatibles.