Si tu app pide acceso a la cámara, la ubicación o las fotos, iOS exige un texto que explique para qué. Elige los permisos, describe el uso real y obtén el bloque de Info.plist y los archivos InfoPlist.strings en español e inglés.
Resultado
Marca al menos un permiso para generar el código.
Info.plist (código fuente)
es.lproj/InfoPlist.strings
en.lproj/InfoPlist.strings
🔒 Todo se genera en tu navegador. No se envía ningún dato a ningún servidor.
Cómo añadirlo a tu proyecto
- Pega el bloque en tu
Info.plist(o añade las claves en la pestaña Info del target). - Para varios idiomas, crea
InfoPlist.stringsen cada localización (es.lproj,en.lproj) con las líneas generadas. - Prueba la app en un dispositivo o simulador limpio. El aviso solo aparece la primera vez.
Cómo escribir un buen texto de permiso
- Explica el beneficio concreto para el usuario, no solo «la app necesita la cámara».
- Menciona la función real: «para escanear el código de tu ticket».
- Apple puede rechazar apps con textos vagos o genéricos (revisa la guía de App Review 5.1.1).
- Pide cada permiso en el momento en que se necesita, no al abrir la app.
Preguntas frecuentes
¿Qué pasa si falta la clave?
La app se cierra al intentar acceder al recurso protegido.
¿Qué claves cambiaron en iOS 17?
El acceso a calendario y recordatorios usa claves nuevas (NSCalendarsFullAccessUsageDescription, NSCalendarsWriteOnlyAccessUsageDescription, NSRemindersFullAccessUsageDescription).
¿Necesito Always para ubicación?
Solo si usas la ubicación en segundo plano. Si no, WhenInUse es suficiente y genera más confianza.
¿Hace falta algo más para el seguimiento (ATT)?
Sí, además de la clave debes solicitar el permiso en código con ATTrackingManager.
Artículos relacionados
- Tutorial: cómo usar el lector de NFC en iOS con Swift — usa
NFCReaderUsageDescription - Cómo leer datos de Salud (HealthKit) con Swift — permisos de Salud
- Notificaciones push en iOS: guía para configurar certificados APNs