itunesconnect - developer - testflight tutorial
NSPhotoLibraryUsageDescription en Xcode8 (7)
Actualización :
Intento agregar un valor de cadena a la clave "NSPhotoLibraryUsageDescription"
.
Y funciona. Mi versión de compilación ahora está disponible en mi TestFlight.
ps: 构建 版本 significa la versión de compilación
Pero quiero saber por qué Apple Store simplemente me dejó agregar el valor de cadena para la clave "NSPhotoLibraryUsageDescription"
en lugar de "Camera Usage Description"
o "Location When In Use Usage Description"
. Y cómo localizar el info.plist.
He subido muchas versiones de compilación a iTunes Connect. Pero TestFlight no muestra ninguna de estas versiones de compilación.
Luego busco este problema en stackoverflow. Y sé que esto es causado por la descripción del uso. Agrego el NSPhotoLibraryUsageDescription en mi Info.plist. Sin embargo, el correo electrónico del equipo de Apple Store y me dice que:
Estimado desarrollador,
Hemos descubierto uno o más problemas con su reciente entrega de "Family Health Tracker". Para procesar su entrega, los siguientes problemas deben ser corregidos:
Esta aplicación intenta acceder a datos confidenciales sin una descripción de uso. El Info.plist de la aplicación debe contener una clave NSPhotoLibraryUsageDescription con un valor de cadena que explique al usuario cómo utiliza la aplicación esta información.
Una vez que se hayan corregido estos problemas, puede volver a enviar el binario corregido.
Saludos,
El equipo de App Store
Todavía me dicen que agregue NSPhotoLibraryUsageDescription
La localización del archivo info.plist
puede no ser útil, especialmente si usa muchos idiomas en sus aplicaciones. La forma más sencilla de localizar NSPhotoLibraryUsageDescription
, NSLocationWhenInUseUsageDescription
o NSCameraUsageDescription
keys es describirlo en el archivo InfoPlist.strings
.
- Crea un nuevo archivo
*.strings
con el nombreInfoPlist
; - Presione el botón
Localize...
en el inspector de archivos y elija el idioma predeterminado; - Agregue nuevos registros en su nuevo archivo
InfoPlist.strings
. Por ejemplo en inglés:
NSLocationWhenInUseUsageDescription = "Descripción del uso de la ubicación";
NSPhotoLibraryUsageDescription = "Descripción de uso de fotos";
NSCameraUsageDescription = "Descripción del uso de la cámara";
Para obtener más información, Apple documenta
Las missing keys
están relacionadas con algunas API que requieren algunas descripciones de uso definidas en las claves .plist. Antes de agregar cualquier clave si sabes que tu aplicación no tiene un uso específico, te recomendaré que eches un vistazo a esta guide oficial de Apple para identificar las clases de API que fallan. Como ejemplo, simplemente tengo un comentario en una línea que contiene UIImagePickerController
. Esto fue suficiente para obtener el rechazo binario de Apple; mientras que no accedí a la biblioteca de fotos del usuario. Una vez que haya validado este paso, puede continuar con otras soluciones mencionadas aquí.
Para localizar Info.plist:
- Haga clic en su
Info.plist
- Muestre sus
Utilities
, luego haga clic enFile inspector
- Este es un botón
Localize
,Localize
clic en él.
Prueba esto, funciona para nosotros,
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
Para obtener más detalles, consulte Mejor respuesta
Espero que esto ayude a algunos.
Simplemente agregue estas líneas a su archivo info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string> //For NSPhotoLibraryUsageDescription issue.
Tuve el mismo problema con dos aplicaciones, la solución muestra que los usuarios se conectan por correo electrónico: info.plist revisa su archivo e intenta agregar los siguientes campos:
Privacy - Photo Library Usage Description
Bluetooth Sharing - NSBluetoothPeripheralUsageDescription
cada uno con un texto que explica el motivo de su uso. Puede consultar aquí los permisos que ahora requieren iOS 10 en su info.plist aquí: https://blog.xamarin.com/new-ios-10-privacy-permission-settings/
Esto funcionó para mí.