3 回答

TA貢獻(xiàn)1779條經(jīng)驗 獲得超6個贊
在我的情況下,我使用的是本地網(wǎng)絡(luò)視圖來登錄google,因此我發(fā)現(xiàn)了應(yīng)該為Webview提供用戶代理的方法。試試下面的代碼,我相信它會起作用。
在應(yīng)用程序didFinishLaunchingWithOptions中添加代碼
目標(biāo)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貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
<preference name="OverrideUserAgent" value="Mozilla/5.0 Google" />
我在cordova項目中也遇到了這個問題。您可以嘗試:將它添加到您的config.xml中,對我有用。

TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊
如先前的答案所述,這SFSafariViewController是一種解決方法,但是對于仍WKWebView用于OAuth授權(quán)的用戶,有一個簡單的解決方法。
只需customUserAgent從列表更改為一個或?qū)⑵湓O(shè)置為任意值即可。之后該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標(biāo)頭值。
- 3 回答
- 0 關(guān)注
- 2180 瀏覽
添加回答
舉報