EDIT: Выход NSLog хорошо работает в симуляторе, но не работает при подключении к реальному устройству. И кажется, что это ошибка - http://openradar.appspot.com/11148883. Также бывает, что это связано с LLDB, переключение Xcode на GDB решает проблему. Либо это возможно для JetBrain AppCode, который хорошо работает с LLDB.
У меня есть куча строк unicode в приложении, и если я попытаюсь вывести любую из этих строк, используя что-то вроде NSLog (@ "% @", aString), тогда все символы ASCII в строка будет напечатана штрафом, но все кириллические буквы будут испорчены, поэтому вместо
newLocation: coordinate:60.019584,30.284954 'Удельная'
Я получаю:
newLocation: coordinate:60.019584,30.284954 '–ü–æ–∫–ª–æ–Ω–Ω–æ–≥–æ—Ä—Å–∫–∞—è'
И это довольно сложно сделать для отладки с таким типом вывода. И поскольку это приложение предназначено только для российского рынка, я не могу просто изменить язык и использовать английские строки.
Итак, я задаюсь вопросом, есть ли способ заставить NSLog работать с символами Unicode? И я ищу только какое-то однострочное решение. Я знаю, что есть несколько способов написать половину страницы кода и выводить символы юникода, но я ищу что-то более короткое. В идеале я ищу какой-то метод NSString, который заставит все это работать. например.
NSLog(@"%@", [aString someThingThatMakesUnicodeWorkWithXcodeConsole]);