EDITAR: La salida NSLog funciona bien en el simulador, pero no funciona cuando se conecta a un dispositivo real. Y parece que es un error - http://openradar.appspot.com/11148883. También sucede que está relacionado con el LLDB, el cambio de Xcode a GDB resuelve el problema. O es posible el AppCode de JetBrain, que funciona bien con LLDB.NSLog genera caracteres Unicode como basura al depurar en el iPhone
que tienen un montón de cadenas Unicode en la aplicación, y si trato de salida de cualquiera de esas cadenas usando algo como NSLog (@ "% @", AString) entonces todos los caracteres ASCII en el cadena será impreso bien, pero todas las letras cirílicas será en mal estado, por lo que en lugar de
newLocation: coordinate:60.019584,30.284954 'Удельная'
estoy recibiendo:
newLocation: coordinate:60.019584,30.284954 '–ü–æ–∫–ª–æ–Ω–Ω–æ–≥–æ—Ä—Å–∫–∞—è'
Y que es bastante Es difícil hacer una depuración con ese tipo de resultados. Y como esa aplicación está destinada al mercado ruso, no puedo cambiar la configuración regional y usar cadenas en inglés.
Entonces, me pregunto si hay alguna manera de hacer que NSLog funcione bien con los caracteres Unicode? Y solo busco algún tipo de solución de one-liner, sé que hay algunas formas de escribir media página de código y caracteres unicode de salida, pero estoy buscando algo más corto. Idealmente, estoy buscando algún método de NSString que lo haga funcionar. p.ej.
NSLog(@"%@", [aString someThingThatMakesUnicodeWorkWithXcodeConsole]);
¿Estás seguro de que tu aString está almacenando correctamente la respuesta? De lo que publicaste, creo que aString no almacenó la respuesta correctamente, así que sí cuando lo imprimas con NSLog fallará. Imprimo caracteres griegos con NSLog todo el tiempo. ¿Cómo está almacenando la respuesta al aString? – Lefteris
¿De dónde vienen las cadenas? ¿Los lees de un archivo? Cuando están dentro del código, debería funcionar. Probé: NSString * s = @ "Удельная"; NSLog (@ "% @", s); y funcionó bien. –
Esos datos provienen de un archivo, pero un literal de cadena tampoco me ha funcionado. Pero parece que encontré la fuente: funciona bien en el simulador, pero saca basura cuando está conectado al iPhone, por lo que probablemente algo esté mal con algunas configuraciones. Gracias. –