Solución:
[UPDATED privacy keys list to iOS 13 – see below]
Hay una lista de todos Cocoa Keys
que puedes especificar en tu Info.plist
expediente:
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html
(Xcode: Target -> Información -> Propiedades de destino personalizadas de iOS)
iOS ya requería permisos para acceder al micrófono, la cámara y la biblioteca multimedia anteriormente (iOS 6, iOS 7), pero ya que la aplicación iOS 10 fallará si no proporciona la descripción por qué solicita el permiso (no puede estar vacío).
Claves de privacidad con descripción de ejemplo:
Fuente
Alternativamente, puede abrir Info.plist
como código fuente:
Fuente
Y agregue claves de privacidad como esta:
<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} always location use</string>
Lista de todas las claves de privacidad: [UPDATED to iOS 13]
NFCReaderUsageDescription
NSAppleMusicUsageDescription
NSBluetoothAlwaysUsageDescription
NSBluetoothPeripheralUsageDescription
NSCalendarsUsageDescription
NSCameraUsageDescription
NSContactsUsageDescription
NSFaceIDUsageDescription
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
NSHomeKitUsageDescription
NSLocationAlwaysUsageDescription
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription
NSMicrophoneUsageDescription
NSMotionUsageDescription
NSPhotoLibraryAddUsageDescription
NSPhotoLibraryUsageDescription
NSRemindersUsageDescription
NSSiriUsageDescription
NSSpeechRecognitionUsageDescription
NSVideoSubscriberAccountUsageDescription
Actualización 2019:
En los últimos meses, dos de mis aplicaciones fueron rechazado durante la revisión porque la descripción del uso de la cámara no especificaba lo que hago con las fotos tomadas.
Tuve que cambiar la descripción de ${PRODUCT_NAME} need access to the camera to take a photo
para ${PRODUCT_NAME} need access to the camera to update your avatar
a pesar de que el contexto de la aplicación era obvio (el usuario tocó el avatar).
Parece que Apple ahora está prestando aún más atención a las descripciones de uso de la privacidad, y deberíamos explicar en detalle por qué pedimos permiso.
A continuación, encontrará los códigos para la muestra de solicitud de permiso de ios 10 para info.plist
.
Puede modificar su mensaje personalizado.
<key>NSCameraUsageDescription</key>
<string>${PRODUCT_NAME} Camera Usage</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>${PRODUCT_NAME} BluetoothPeripheral</string>
<key>NSCalendarsUsageDescription</key>
<string>${PRODUCT_NAME} Calendar Usage</string>
<key>NSContactsUsageDescription</key>
<string>${PRODUCT_NAME} Contact fetch</string>
<key>NSHealthShareUsageDescription</key>
<string>${PRODUCT_NAME} Health Description</string>
<key>NSHealthUpdateUsageDescription</key>
<string>${PRODUCT_NAME} Health Updates</string>
<key>NSHomeKitUsageDescription</key>
<string>${PRODUCT_NAME} HomeKit Usage</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} Use location always</string>
<key>NSLocationUsageDescription</key>
<string>${PRODUCT_NAME} Location Updates</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>${PRODUCT_NAME} WhenInUse Location</string>
<key>NSAppleMusicUsageDescription</key>
<string>${PRODUCT_NAME} Music Usage</string>
<key>NSMicrophoneUsageDescription</key>
<string>${PRODUCT_NAME} Microphone Usage</string>
<key>NSMotionUsageDescription</key>
<string>${PRODUCT_NAME} Motion Usage</string>
<key>kTCCServiceMediaLibrary</key>
<string>${PRODUCT_NAME} MediaLibrary Usage</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>${PRODUCT_NAME} PhotoLibrary Usage</string>
<key>NSRemindersUsageDescription</key>
<string>${PRODUCT_NAME} Reminder Usage</string>
<key>NSSiriUsageDescription</key>
<string>${PRODUCT_NAME} Siri Usage</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>${PRODUCT_NAME} Speech Recognition Usage</string>
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>${PRODUCT_NAME} Video Subscribe Usage</string>
iOS 11 y más, si desea agregar una foto / imagen a su biblioteca, debe agregar esta clave
<key>NSPhotoLibraryAddUsageDescription</key>
<string>${PRODUCT_NAME} library Usage</string>
Debe agregar este permiso en Info.plist para iOS 10.
Foto :
Key : Privacy - Photo Library Usage Description
Value : $(PRODUCT_NAME) photo use
Micrófono:
Key : Privacy - Microphone Usage Description
Value : $(PRODUCT_NAME) microphone use
Camara:
Key : Privacy - Camera Usage Description
Value : $(PRODUCT_NAME) camera use