users tutorial developer descargar code apple app itunesconnect testflight ios10 xcode8

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.

Viejo :
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


Asegúrese de que "NSPhotoLibraryUsageDescription" tenga un valor asignado antes de cargar la aplicación a iTunes Connect.


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 nombre InfoPlist ;
  • 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 en File 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í.