iOS开发 webview设置userAgent

682 阅读1分钟

iOS开发中经常遇到webView加载的界面,有时webView中需要我们传用户的uid或者通过我们传一些特定的信息(例如app的版本号,让后台控制webView中信息的展示),,这时我们就可以在webView中设置userAgent 代码如下:

//获取 iOS 默认的 UserAgent,可以很巧妙地创建一个空的UIWebView来获取:

/**全局的话直接放在**/  不是的话 就直接单独写在你需要的Controller里面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *userAgent = [[[UIWebView alloc] init] stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSString *version = [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"];
NSString *customUserAgent;
//判断用户是否登录
if (IsLogin) {
customUserAgent = [userAgent stringByAppendingFormat:@"version=%@ uid=%@", version,uid];
}else{
customUserAgent = [userAgent stringByAppendingFormat:@" APP/%@ version=%@ xfhuid=", version,version];
}
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":customUserAgent}];
return YES;
}

一般化你可以把设置用户的userAgent方法自己封装在一个类里面这样代码看起来会有节奏感