Ios UIWebView未使用loadRequest加载站点的移动版本

Ios UIWebView未使用loadRequest加载站点的移动版本,ios,mobile,uiwebview,Ios,Mobile,Uiwebview,我正在尝试使用UIWebView在我的应用程序中嵌入网站的移动版本。但是,当我执行以下操作时: NSURL *url = [NSURL URLWithString:webLink]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [self.webView loadRequest:request]; 已加载站点的完整版本。然后,当我单击此页面中的任何链接时,它将处理该站点的移动版本(从一开始我就

我正在尝试使用UIWebView在我的应用程序中嵌入网站的移动版本。但是,当我执行以下操作时:

NSURL *url = [NSURL URLWithString:webLink];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[self.webView loadRequest:request];
已加载站点的完整版本。然后,当我单击此页面中的任何链接时,它将处理该站点的移动版本(从一开始我就希望如此)

我试过和用户代理混在一起,但运气不好。我不认为它是通过用户代理来决定是否加载页面的移动版本,因为我将Firefox用户代理设置为iPhone,它仍然继续加载完整版本


如果有帮助的话,我尝试加载的站点是一个留言板,使用IP board 3.1.4。我试着上网看看它是如何决定是否显示手机版本的,但运气不佳。

如果网站没有完整的手机版本,你就无能为力了(

我今天找到了解决问题的办法

我在IP板支持论坛上发布了我的问题,得到回复说IP板会检查用户代理中的“iPhone”或“mobileApp”cookie。因为搞乱用户代理对我不起作用,所以我采用了后一种方法

我将此代码放入appdelegate中的ApplicationIDBecMeactive方法中:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"mobileApp" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"1" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];

NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];

PS:我在另一个有关cookie的stackoverflow问题中发现了此cookie解决方案。

不,它确实有一个移动版本。只是当我在web视图上执行loadRequest时,移动版本没有加载。只要我单击此web视图中的链接,它就会加载正确的移动版本。我仍然认为这是您访问的网站的问题尝试加载。好的,但是当我在safari中加载主页时,它会直接进入移动站点,这与webview中的情况不同。我觉得我需要做一些特殊的事情来构造请求,以便它知道如何立即加载移动站点。safari可能会发送一些您没有发送的http头。我会创建一个页面来检索headers Safari会发送,所以你会知道你没有发送什么。你知道如何通过Safari做到这一点吗?我通过我的web视图查看了它,事实上,在第二次加载时(在移动视图中),我看到了一些iPhone的元标记。有没有办法我可以将这些插入到我的请求中?