在工程中如果需要加入自定义的自定义的UserAgent值,一般用作服务器或者浏览器客户端判断。
在一个工程中会遇到多个UIWebView窗口的情况,每次都设定UserAgent的情况。
所以这种情况是一般采用全局的定义。
一般在XxxxAppDelegate.m中加入全局定义:
+ (void)initialize
{
NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone Simulator; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 MYXAPP/0.01", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];
}
其中“MYXAPP/0.01”为自定义串,用来给服务器判断使用。
当然也可以加入其他的值,比如一些不同的特定的信息等。
在UIWebView中也常常需要取得UserAgent用来判断是不是本应用发出的请求,还是服务器发起的300等。
NSString* userAgent = [request valueForHTTPHeaderField:@"User-Agent"];
NSRange range = [userAgent rangeOfString:@"MYXAPP"];
if( range.location != NSNotFound ){
NSLog( @"User-Agent:%@", userAgent );
}