No se puede localizar cadenas de info.plist.

Necesito localizar dos keys de info.plist: NSLocationUsageDescription y NSCameraUsageDescription . Así que traté de crear un nuevo file llamado InfoPlist.strings y luego lo localicé, pero la aplicación siempre muestra cadenas almacenadas en el file info.plist. ¿Qué sucede?

Documentación oficial de Referencia key de la list de properties de información

Los valores localizados no se almacenan en el file Info.plist. En su lugar, almacena los valores para una localización particular en un file de cadenas con el nombre InfoPlist.strings. Coloca este file en el mismo directory de proyecto específico de idioma que usa para almacenar otros resources para la misma localización. El contenido del file InfoPlist.strings son las keys individuales que desea localizar y el valor traducido apropiadamente. Las rutinas que buscan valores key en el file Info.plist tienen en count las preferences de idioma del usuario y devuelven la versión localizada de la key (del file InfoPlist.strings apropiado) cuando existe. Si no existe una versión localizada de una key, las rutinas devuelven el valor almacenado en el file Info.plist.

Mi file InfoPlist.strings:

 NSCameraUsageDescription = "hello"; NSLocationUsageDescription = "hello hello"; 

Compruebe en el package de aplicación generado, si el file realmente está almacenado allí y se coloca en la location correcta. Por lo general, este es el paso que falta.

Simplemente vaya a la configuration del proyecto, abra "Fases de compilation" y vea si el file se puede encontrar en "Copiar los resources del package"

Su file Plist puede tener varias versiones para cada idioma que admita su aplicación. En Utilidades \ Inspector de files (a la derecha), click "Localizar":

introduzca la descripción de la imagen aquí

Y luego elige los idiomas que deseas tener con sus propias versiones:

introduzca la descripción de la imagen aquí

Después de eso, podrás ingresar cada file y editarlo como quieras.

El file debe estar dentro de un directory que indique el idioma, por ejemplo en.lproj

De hecho, mi problema era que había escrito mal la constante NSLocationWhenInUseUsageDescription, por lo que, por supuesto, no se tuvo en count.

A veces primero tiene que hacer una limpieza, click Menú -> Producto -> Limpiar.

A veces tienes que hacer una limpieza primero

Desde iOS 10, debe agregar las keys de privacidad a su Info.plist.

 <key>NSPhotoLibraryUsageDescription</key> <string>Please allow access to the photo library.</string> 

Por supuesto, todavía necesita que se localicen esas keys (y no puede localizar Info.plist de la aplicación). Entonces TAMBIÉN agregue esas keys de privacidad a InfoPlist.strings, que a su vez están localizadas.

 "NSPhotoLibraryUsageDescription" = "Please allow access to the photo library.";