iphone nsuserdefaults region nslocale ios8.1

iphone - NSLocale preferredLanguages objectAtIndex: 0 siempre devuelve "en"



nsuserdefaults region (2)

Esto es un error. Me estaba volviendo loco. Apple ya lo sabe.

Vea estas respuestas:

El simulador iOS8.1 siempre utiliza la distribución de teclado de los EE. UU. a pesar del teclado de hardware alemán

y esto:

Localización de simulador de iOS 8.1 rota (NSLocalizedString)

(En la respuesta hay una solución temporal que cambia el esquema)

Mejor, gigi

El lenguaje del simulador ya cambió a japonés, ¿por qué [[NSLocale preferredLanguages] objectAtIndex:0] siempre devuelve "en" ?

Ni el idioma preferido ni la región están relacionados con "en", ¿de dónde proviene "en" ?

[[NSLocale preferredLanguages] objectAtIndex: obtener [[NSLocale preferredLanguages] objectAtIndex: 2 ] , luego crash muestra *** Terminating app due to uncaught exception ''NSRangeException'', reason: ''-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)

¿Significa que no hay ningún idioma configurado en el simulador? ¡Tan raro!

Esto nunca sucedió antes de actualizar a Xcode 6.1 con iOS8.1 / 7.1.

Mientras tanto, intenté lo mismo en mi iPhone 5, la consola salió correctamente.

¿Por qué tan raro? ¿Alguien tiene tales problemas?

Actualizaciones: 1

  • Elimine Xcode así como los simuladores, y vuelva a instalarlo descargando desde Mac Store.
  • Crea un nuevo proyecto simple, cambia el lenguaje del simulador.
  • Aún así obtener siempre "en".

Oh! Que pasa ....

Actualizaciones: 2

  • Hoy, reinstalado el nuevo Yosemite mediante el cambio de formato en HD
  • Descargar Xcode 6.1
  • Iniciar un nuevo proyecto predeterminado simple
  • Pon estos códigos
  • Cambiar / Agregar idioma de simulador, japonés, holandés, inglés,
  • correr
  • ¡Oh Dios! Obtuve solo "en" otra vez, japonés e inglés no encontrado!

¿Por qué todavía solo se puede encontrar un "en" ? ¿Dónde están el japonés y el inglés?

¿Qué pasó con los simuladores?

¿Hay algo que me perdí?


Mi simulador de iOS de repente comenzó a informar "en" lugar de "en-US" , por lo que parece que este problema sigue activo.

Reproducido en

  • Xcode 8.2.1, iOS 10
  • Xcode 9.4.1, iOS 11

Entré en la configuración de idioma y seleccioné inglés y Estados Unidos. Seleccioné Canadá y Francia, y obtuve "fr-CA" . Luego lo cambié de nuevo y comencé a recibir "en-US" nuevo. No he podido reproducir el problema "en" desde.

Así que parece que no podemos pasar los valores de [NSLocale preferredLanguages] en el supuesto de que sean pares de idioma-región.