iOS知识小集·设置userAgent的那件小事
原因
现在很多app都会访问自己家的网页,然后服务器的兄弟们就要求设置好userAgent。
好吧,我们答应便是😳。
实现
既然都答应了,那么我们来看看这个东西怎么实现吧。
首先我们来看看如何获取userAgent这玩意吧。
UIWebView *webView = [[UIWebView alloc] init];
webUserAgent = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
这样我们就获取到了系统的userAgent,然后我们就对他进行ooxx修改后设置上吧。
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent": webUserAgent}]
OK打完收工~!😁
太天真了,少年!
你以为这样就完事了吗?
不一会儿,后台的兄弟就过来调戏你了,说好的UA怎么没有设置成功啊?😏😏😏
哎哟,我心中的草泥马抑制不住的奔腾啊!
原来,在每次使用webview的时候需要调用一下navigator.userAgent
才会生效啊!
[webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
妈个蛋的,这是什么坑?
哈哈哈,不管怎么样,始终是克服了呢,发版吧!
又太天真了,少年!
测试同学跑过来说,userAgent设置不成功啊!
这个时候,你明显的感觉到自己的发际线向后移动了1微米!
冥思苦想才发现原来,某三方库也设置了UA。
CFPreferencesSetAppValue(CFSTR("UserAgent"), (__bridge CFPropertyListRef _Nullable)(userAgent), CFSTR("com.apple.WebFoundation"))
这又是什么骚操作??
而且,这种方法设置了以后,上面那种方法是修改不了的。
那么CFPreferencesSetAppValue
这个东西是干什么的呢?
咳咳,官方网站是这么说的。
Plist文件编程
API介绍
嗯,简单的说,就是设置了配置文件。
完事!
好吧,这下真的应该没什么坑了吧?!
ps:
- 这里感谢下今日头条的同学,文中的某三方库其实就是头条的广告sdk。第二种设置UA的方法也是头条的同学给我们说的。
- 从这里知道了Plist文件编程。准备看一看,下篇文章写写吧。
Congratulations @decembersola! You received a personal award!
Happy Birthday! - You are on the Steem blockchain for 1 year!
Click here to view your Board
Congratulations @decembersola! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!