菜鸟教程小白 发表于 2022-12-13 15:01:36

ios - 使用 UIWebView 登录 Facebook 和 G+


                                            <p><p>我的 iOS 应用有一个在 <code>UIWebView</code> 中设置的登录页面。它还具有 Facebook 和 G+ 登录。我可以让正常的登录屏幕正常工作,好吧。但是当我使用 Facebook 和 G+ 这样做时,我遇到了问题。我假设原因是单击按钮弹出的新窗口。
有什么方法可以在不求助于手动登录的情况下处理这个问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>使用原生 Facebook 和 G+ 登录会容易得多。您要完成的工作比使用 native 登录要复杂得多。</p>

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

<ul>
<li><p>覆盖 <code>UIWebViewDelegate</code> 协议(protocol)的 <code>-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType</code> 方法。 </p></li>
<li><p>在您的实现中,您应该在另一个模态 UIWebView 中打开登录界面并在那里处理登录事件,并在关闭该模态视图时,如果登录成功继续应用流程。</p></li>
</ul>

<p>看起来像这样:</p>

<pre><code>-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSURL *url = ;

    //for facebook login
    if ([ containsString:@&#34;m.facebook.com&#34;] &amp;&amp; [ containsString:@&#34;login&#34;]) {

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

    //for G+ something similar

    return ;

}
</code></pre>

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

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

<p>所以,正如我所说,最好使用 native 登录。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 UIWebView 登录 Facebook 和 G&#43;,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35792200/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35792200/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 UIWebView 登录 Facebook 和 G&#43;