3 回答
TA贡献1779条经验 获得超6个赞
在我的情况下,我使用的是本地网络视图来登录google,因此我发现了应该为Webview提供用户代理的方法。试试下面的代码,我相信它会起作用。
在应用程序didFinishLaunchingWithOptions中添加代码
目标C
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
斯威夫特3.0
let dictionaty = NSDictionary(object: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", forKey: "UserAgent" as NSCopying)
UserDefaults.standard.register(defaults: dictionaty)
TA贡献1872条经验 获得超3个赞
<preference name="OverrideUserAgent" value="Mozilla/5.0 Google" />
我在cordova项目中也遇到了这个问题。您可以尝试:将它添加到您的config.xml中,对我有用。
TA贡献1851条经验 获得超5个赞
如先前的答案所述,这SFSafariViewController是一种解决方法,但是对于仍WKWebView用于OAuth授权的用户,有一个简单的解决方法。
只需customUserAgent从列表更改为一个或将其设置为任意值即可。之后该disallowed_useragent错误将消失:
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
// Check for selector availability, as it is available only on iOS 9+
if ([webView respondsToSelector:@selector(setCustomUserAgent:)]) {
webView.customUserAgent = @"MyCustomUserAgent";
}
如需更改User-Agent,UIWebView可以查看此答案。
但是要小心,因为某些后端代码可能取决于User-Agent标头值。
- 3 回答
- 0 关注
- 2056 浏览
添加回答
举报