我如何修复由不允许的useragent引起的功能受损?

我最近建立了一个网络浏览器,当我尝试在网站上使用我的Google帐户登录时遇到了一个错误。

截图

这很奇怪,因为我检查了我的应用程序和Safari的用户代理,它们都是相同的。

有什么建议么?

UPDATE

WKWebView在自定义UIViews树中嵌套3层。

这是初始化代码:

_webView = [[WKWebView alloc] init];
_webView.allowsBackForwardNavigationGestures = NO;
_webView.allowsLinkPreview = NO;
_webView.navigationDelegate = self;
_webView.UIDelegate = self;
_webView.frame = CGRectMake(0.0, 0.0, self.contentView.frame.size.width, self.contentView.frame.size.height);
[self.contentView addSubview:_webView];

来自Google现代化本地应用程序中的OAuth交互以提高可用性和安全性文章:

2017年4月20日,我们将开始使用网络视图为所有可用备选平台上的所有OAuth客户端屏蔽OAuth请求。

因此,Google现在只允许在普通浏览器中使用Google帐户登录,并且出于安全原因限制其在网络视图中,并为此推荐适用于iOS和Android的Google SDK。

但是如果你仍然想使用WKWebView你可能会做一些小技巧,在这个答案中建议设置customUserAgent以便它可以通过验证:

// Check for selector availability, as it is available only on iOS 9+
if ([_webView respondsToSelector:@selector(setCustomUserAgent:)]) {
    _webView.customUserAgent = @"MyCustomUserAgent";
}
链接地址: http://www.djcxy.com/p/96403.html

上一篇: How can I fix impaired functionality caused by disallowed useragent?

下一篇: Seaborn regplot using datetime64 as the x axis