以下是iOS中解决Xcode 8控制台乱码的方式的完整攻略。
问题描述
在Xcode 8中运行iOS应用程序时,如果使用了中文输出日志或者使用NSLog输出中文,则在控制台中会出现乱码。例如,下面的示例代码:
let str = "Hello, 世界"
print(str)
NSLog(str)
输出结果在控制台中会呈现为以下效果:
Hello, ä¸ç•Œ
2017-01-06 17:04:57.026 Demo[59633:4060567] Hello, 验
解决方案
要解决这个问题,我们需要设置Xcode 8项目中的控制台编码方式。
步骤一:打开Edit Scheme
在Xcode 8 中,选择菜单栏的 “Product” -> “Scheme” -> “Edit Scheme…” 来打开编辑方案的窗口。
步骤二:设置运行选项
在编辑方案的窗口中,选择左侧的“Run”选项,在右侧的“Option”中找到“Arguments Passed On Launch”选项,并添加一下两条命令行参数:
OS_ACTIVITY_MODE = disable
Xcode_COLORS = YES
其中第一个参数将禁用OS活动日志,而第二个参数会启用Xcode颜色扩展,方便我们更好地查看控制台输出。
步骤三:运行程序
重新运行程序,下面是修改后的代码的输出结果:
Hello, 世界
2017-01-06 17:13:42.375 Demo[59734:4069808] Hello, 世界
可以看到,现在中文已经正确地输出到了控制台。
示例说明
下面举例说明两种情况。
示例一:使用NSLog输出中文
下面是一个使用NSLog输出中文的代码示例:
func demo() {
let name = "张三"
NSLog("你好, %@", name)
}
输出结果呈现为:
2018-01-22 15:47:29.635788+0800 Demo[33634:4495752] 你好, å¼ åä¸å
可以看到,中文字符乱码了。按照上述方案的步骤进行设置,输出就正确了:
2018-01-22 15:48:40.122201+0800 Demo[33954:4607122] 你好, 张三
示例二:使用中文输出日志
下面是一个使用中文输出日志的代码示例:
func demo() {
print("这是一条中文日志")
}
输出结果呈现为:
这是一条中文日志
看起来似乎没有问题,但其实中文字符已经是乱码了。按照上述方案的步骤进行设置,输出就正确了:
这是一条中文日志
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:iOS中解决Xcode 8控制台乱码的方式 - Python技术站