使用系统自带的openUrl后发现打开浏览器死活会乱码,比如把urlStr中的?转义成%3F,后来发现代码中的调用方法是这么写的
[[UIApplication sharedApplication] openURL:[NSURL fileURLWithPath:url options:@{} completionHandler:nil];
这种写法同样可以打开浏览器,但是会被错误转义。改成下面这种标准写法就没事了。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]] options:@{} completionHandler:nil];
留个坑,以后再来研究具体的原理。