iOS知识小集·设置userAgent的那件小事

in #ios7 years ago

原因

现在很多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:

  1. 这里感谢下今日头条的同学,文中的某三方库其实就是头条的广告sdk。第二种设置UA的方法也是头条的同学给我们说的。
  2. 从这里知道了Plist文件编程。准备看一看,下篇文章写写吧。
Sort:  

Congratulations @decembersola! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @decembersola! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

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!