例如,网站“m.freemyapps.com”拒绝所有浏览器,甚至拒绝 UIWebView,只请求 Safari。
是否可以让我的应用程序以 Safari 的形式出现?
例如,网站“m.freemyapps.com”拒绝所有浏览器,甚至拒绝 UIWebView,只请求 Safari。
是否可以让我的应用程序以 Safari 的形式出现?
如果我正确理解您的问题,您可以做以下两件事中的任何一件 -
1) 您可以重定向用户离开应用程序并在 Safari 中打开移动站点。
2) 对于移动站点支持,UIWebView 可能需要在请求中添加额外的 User-Agent 标头字段,模仿 Safari。例如
NSURL *url = [NSURL URLWithString:@"m.freemyapps.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:@"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3" forHTTPHeaderField:@"User-Agent"];
[webview loadRequest: request];
在大多数情况下,此解决方案应该有效。如果没有,您应该通过特定移动站点的服务器端实现来了解它是否需要发送额外的标头。