Acabo de comenzar a enfrentar este problema con la versión de iOS 10 GM. Recibí un correo electrónico que decía:
Para procesar su entrega, se deben corregir los siguientes problemas:
Esta aplicación intenta acceder a datos sensibles a la privacidad sin una descripción de 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.
Una vez que se hayan realizado las correcciones necesarias, puede volver a enviar el binario corregido.
Saludos,
El equipo de la App Store
Estoy usando Google GoogleSignIn. No estoy usando Firebase, pero al instalar GoogleSignIn con las vainas de cacao, vi en los registros que instaló Firebase automáticamente.
¿Hay algo que podamos hacer además de tener que definir estas claves, ya que mi aplicación no tiene nada que ver con la cámara / fotos, etc. y, por lo tanto, no quiero que los usuarios piensen que las estamos usando?
Noto que alguien más también se ha enfrentado a este problema: https://forums.developer.apple.com/thread/62229
fuente
Respuestas:
Aquí hay un enlace a una solución alternativa completa de Google: https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ
Más información en ese enlace, pero la versión TL; DR es que debe agregar tres elementos a su lista:
<key>NSCalendarsUsageDescription</key> <string>Advertisement would like to create a calendar event.</string> <key>NSPhotoLibraryUsageDescription</key> <string>Advertisement would like to store a photo.</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>Advertisement would like to use bluetooth.</string>
fuente
en iOS 10, debe agregar la clave mencionada en la imagen a continuación si está usando la cámara o la galería de fotos en su aplicación
fuente
En iOS 10, Apple ha establecido como requisito definir la descripción de uso en Info.plist para cualquier función que requiera una ventana emergente. Ver http://useyourloaf.com/blog/privacy-settings-in-ios-10/
Durante el programa beta, las aplicaciones se bloquean en el momento en que muestran el mensaje si no se establece la descripción de uso.
Parece que las herramientas de validación de iTunes Connect se han cambiado para buscar referencias en la aplicación a clases asociadas con objetos relacionados con permisos. Si no hay una entrada Info.plist, rechazan el binario.
Vi esto en una de mis propias aplicaciones donde tenía un método auxiliar antiguo en una biblioteca que detectaba si la cámara existía o no. Aunque la aplicación nunca llamó a ese método, estaba vinculado a mi binario porque usé otro método en el mismo archivo. Esa aplicación no usó la cámara y, por lo tanto, no definió la entrada Info.plist. Y fue rechazado. Simplemente eliminé mi método de ayuda y moví los controles a las otras aplicaciones que lo usaron.
Sin embargo, AdMob parece tener referencias al Calendario, por lo que una aplicación que tengo que usa anuncios y no usa el Calendario en sí, no se puede enviar. ¡Gracias Google!
fuente
Tienes permiso de la cámara en Info.Plist. vaya a Info.plist y agregue el siguiente código.
Key : Privacy - Camera Usage Description Value : $(PRODUCT_NAME) camera use
Ver esta referencia:
fuente
Aquí están todas las claves de privacidad, debemos agregarlas manualmente a Info.plist con una breve descripción.
• Bluetooth Sharing – NSBluetoothPeripheralUsageDescription • Calendar – NSCalendarsUsageDescription • CallKit – NSVoIPUsageDescription • Camera – NSCameraUsageDescription • Contacts – NSContactsUsageDescription • Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription • HomeKit – NSHomeKitUsageDescription • Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription • Media Library – NSAppleMusicUsageDescription • Microphone – NSMicrophoneUsageDescription • Motion – NSMotionUsageDescription • Photos – NSPhotoLibraryUsageDescription • Reminders – NSRemindersUsageDescription • Speech Recognition – NSSpeechRecognitionUsageDescription • SiriKit – NSSiriUsageDescription • TV Provider – NSVideoSubscriberAccountUsageDescription
fuente
EDITAR: consulte la respuesta anterior https://stackoverflow.com/a/39476283/1634905 que enumera la solución oficial de Google. TENGA EN CUENTA que a la solución alternativa le falta una clave adicional que también será necesaria:
NSCameraUsageDescription
Solución alternativa que utilicé: los marcos de Google para AdMob y GoogleSignIn instalan firebase automáticamente, que usa dichos permisos, aunque la aplicación nunca lo hace. Después de definir
NSCameraUsageDescription
en elinfo.plist
, me dejó enviar sin problemas con la esperanza de que la aplicación no le pregunte al usuario nunca para que tampoco vean el texto.fuente
¿Es posible que Google Framework use algún marco de sistema adicional que requiera el permiso del usuario (es decir, la posición del usuario) y se olvide de agregar la descripción relacionada en el archivo .plist? Comprueba eso.
Parte de la descripción del permiso de uso se volvió obligatoria en iOS 10.
fuente
Corregido en 7.11.0 https://firebase.google.com/docs/admob/release-notes
Asegúrese de actualizar el SDK
fuente
Asegúrese de agregar esta clave si es ArcGIS.framework de ESRI.
fuente