編集: NSLog出力はシミュレーターではうまく機能しますが、実際のデバイスに接続すると機能しません。そして、それはバグのようです—http://openradar.appspot.com/11148883。また、LLDBに関連している場合もあり、XcodeをGDBに切り替えると問題が解決します。LLDBでうまく機能するJetBrainのAppCodeも可能です。
アプリケーションに大量のUnicode文字列があり、 NSLog(@ "%@"、aString)のようなものを使用してこれらの文字列のいずれかを出力しようとすると、文字列内のすべてのASCII文字が正常に印刷されますが、すべてキリル文字です。文字がめちゃくちゃになるので、代わりに
newLocation: coordinate:60.019584,30.284954 'Удельная'
私が得ている:
newLocation: coordinate:60.019584,30.284954 '–ü–æ–∫–ª–æ–Ω–Ω–æ–≥–æ—Ä—Å–∫–∞—è'
そして、そのような出力でデバッグを行うのは非常に困難です。そのアプリはロシア市場のみを対象としているため、ロケールを変更して英語の文字列を使用することはできません。
では、NSLogをUnicode文字でうまく機能させる方法はあるのでしょうか。そして、私はある種のワンライナーソリューションのみを探しています。半分のページのコードを記述してUnicode文字を出力する方法がいくつかあることを知っていますが、もっと短いものを探しています。理想的には、すべてが機能するNSStringのメソッドを探しています。例えば
NSLog(@"%@", [aString someThingThatMakesUnicodeWorkWithXcodeConsole]);