gpt4 book ai didi

objective-c - 在 OS X 应用程序 WebView 中模拟移动 Safari

转载 作者:行者123 更新时间:2023-12-03 16:26:11 25 4
gpt4 key购买 nike

我正在尝试制作一个 OS X 应用程序,使用基本的 WebView 代码显示移动网站的 WebView,问题是我希望此 WebView 自动加载其所在网站的移动版本。

 WebFrame *mainFrame = [web1 mainFrame];
NSURL *url = [NSURL URLWithString:@"http://www.website.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[mainFrame loadRequest:request];

所以我的问题是,我是否可以在上面的代码中添加任何内容,以使此 Web View 将其自身识别为移动浏览器所在的任何网站的服务器,从而自动加载任何网站的移动版本它开着?我已经尝试在网上为自己寻找这个问题的答案,但没有找到答案。

预先感谢您提供的所有帮助!

最佳答案

是的

使用 NSMutableURLRequest 而不是简单的 NSURLRequest,因此您可以更改它并使用其 setValue:forHTTPHeaderField: 方法来设置“User-Agent” HTML header 字段到 MobileSafari 的 User-Agent。

// You may adapt the UserAgent string depending on what device and Safari version you want to represent
static NSString* const kMobileSafariUserAgent = @"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:kMobileSafariUserAgent forHTTPHeaderField:@"User-Agent"];
[mainFrame loadRequest:request];

要使用的用户代理字符串,取决于您想要“模拟”的 MobileSafari 版本(您想让服务器相信您是哪个版本/设备)。

See here对于一些可能的 UA 字符串

关于objective-c - 在 OS X 应用程序 WebView 中模拟移动 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com