I'm diving into iOS development and when I try to load a specific Facebook Fan Page in a UIWebView, it loads the mobile version of the site, which only loads the wall of the Fan Page instead of a specific tab that I need loaded. In the iPad version of my app, the UIWebView loads the normal, non-mobile version of Facebook and it loads the tab just fine. How can 开发者_如何学GoI force the UIWebView on the iPhone to load the normal version of Facebook?
Facebook is most likely analyzing the user agent to determine which version to serve. If this is the case then changing the user agent to a desktop browser user agent would cause facebook to change which page version is served. You can change the user agent on NSMutableURLRequest like so:
[request setValue:@"some-user-agent" forHTTPHeaderField:@"User_Agent"];
Do this in viewDidLoad (or somewhere else before loading UIWebView):
NSDictionary *userAgent = @{ @"UserAgent" : @"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0" };
[[NSUserDefaults standardUserDefaults] registerDefaults:userAgent];
精彩评论