最新Xcod8+iOS10 的双重组合坑,打的我不要不要的
说说问题吧
最近把iPhone5s升级到了iOS10系统 ,之前是iOS7的系统
然后神奇的问题就出来了,本来好好Log信息能打印后台返回的信息
并且是中文
在升级iOS10 以后,就变成了打印出一堆非 utf-8的乱码
下面是心路历程了,各种苦逼的猜测
- 1.我以为是升级Xcod8以后,出现的Nslog要进行适配,后来发现不是这个问题
- 2.我以后是后台出现了问题,结果排查以后也不是
- 3.我以为是Nslog宏定义的问题,结果也不是
- 4.当我用回一个iOS8系统的测试手机去跑程序,我发现竟然可以
1 ==> 问题出在哪里呢?
2 ==> 问题出在,我打印后台数据的时候,是直接打印后台返回的数据转换格式后的 NSDictionary(字典)
3 ==> 这个情况在iOS10以下的系统中,好像是可以将字典格式打印出中文,但是在iOS10系统以后,直接去NSLog字典格式,就会出现问题!!!!
可以这样改 (把dict转换成字符串)
NSString *desc = [d objectForKey:@"respDesc"];
NSLog(@"resp %@", [NSString stringWithFormat:@"%@",d]);