OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 UIWebView 登录 Facebook 和 G+ [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:01
标题: ios - 使用 UIWebView 登录 Facebook 和 G+

我的 iOS 应用有一个在 UIWebView 中设置的登录页面。它还具有 Facebook 和 G+ 登录。我可以让正常的登录屏幕正常工作,好吧。但是当我使用 Facebook 和 G+ 这样做时,我遇到了问题。我假设原因是单击按钮弹出的新窗口。 有什么方法可以在不求助于手动登录的情况下处理这个问题?



Best Answer-推荐答案


使用原生 Facebook 和 G+ 登录会容易得多。您要完成的工作比使用 native 登录要复杂得多。

如果你真的出于某种原因必须在 UIWebView 中执行此操作,则必须实现如下策略:

看起来像这样:

-(BOOL)webViewUIWebView *)webView shouldStartLoadWithRequestNSURLRequest *)request navigationTypeUIWebViewNavigationType)navigationType {

    NSURL *url = [request URL];

    //for facebook login
    if ([[url absoluteString] containsString"m.facebook.com"] && [[url absoluteString] containsString"login"]) {

        // instantiate and present new modal UIViewController containing UIWebView that loads the url. 
        return NO;
    }

    //for G+ something similar

    return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];

}

然后,用于登录的模态视图 Controller 还必须实现如何处理可能的登录事件的逻辑,并在成功时自行关闭,这将非常复杂。

第一个 webView 还必须知道模式何时被关闭(可以通过协议(protocol)或其他方式完成),然后检查登录状态,如果成功则继续。

所以,正如我所说,最好使用 native 登录。

关于ios - 使用 UIWebView 登录 Facebook 和 G+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35792200/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4