菜鸟教程小白 发表于 2022-12-11 18:08:09

ios - Facebook 登录 iOS SDK 卡在 "Confirm"


                                            <p><p>有人遇到这个问题吗?按下登录按钮并启动该过程后,用户将停留在此屏幕上,您应该在该屏幕上启用或确认应用程序的权限。不过,这里没什么可做的。</p>

<p> <a href="/image/uaHdB.png" rel="noreferrer noopener nofollow">Screenshot from iOS Simulator</a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><pre><code>In appdelegate:

import FacebookCore

func application(_ application: UIApplication,
                   didFinishLaunchingWithOptions launchOptions: ?) -&gt; Bool {
    SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)

    return true
}

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -&gt; Bool {
    return SDKApplicationDelegate.shared.application(application,
                                                   open: url,
                                                   sourceApplication: sourceApplication,
                                                   annotation: annotation)
}


@available(iOS 9.0, *)
func application(_ application: UIApplication, open url: URL, options: ) -&gt; Bool {
    return SDKApplicationDelegate.shared.application(application, open: url, options: options)
}

func applicationDidBecomeActive(_ application: UIApplication) {
    AppEventsLogger.activate(application)
}


In View Controller

import FacebookCore
import FacebookLogin


func facebookLogin() {
    let loginManager = LoginManager()
    loginManager.logIn([ .email ], viewController: self) { (loginResult) in
      switch loginResult {
      case .failed(let error):
            print(error)
      case .cancelled:
            print(&#34;User cancelled login.&#34;)
      case .success(let grantedPermissions, let declinedPermissions, let accessToken):
            print(&#34;Logged in \(grantedPermissions) \(declinedPermissions) \(accessToken)&#34;)
      }
    }
}

And if you have multiple social login like facebook login and google signin

func application(_ application: UIApplication,
               open url: URL, sourceApplication: String?, annotation: Any) -&gt; Bool {

    var _: = [UIApplicationOpenURLOptionsKey.sourceApplication.rawValue: sourceApplication as AnyObject,
                                        UIApplicationOpenURLOptionsKey.annotation.rawValue: annotation as AnyObject]

    if url.absoluteString.contains(&#34;facebook&#34;) {
      return SDKApplicationDelegate.shared.application(application,
                                                         open: url,
                                                         sourceApplication: sourceApplication,
                                                         annotation: annotation)
    }else{
      return GIDSignIn.sharedInstance().handle(url as URL!,
                                                sourceApplication: sourceApplication,
                                                annotation: annotation)
    }
}
</code></pre>

<p>上面的编辑应该可以工作。</p>

<p>来源:
<a href="https://github.com/facebook/facebook-sdk-swift/blob/master/Samples/Catalog/Sources/AppDelegate.swift" rel="noreferrer noopener nofollow">https://github.com/facebook/facebook-sdk-swift/blob/master/Samples/Catalog/Sources/AppDelegate.swift</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Facebook 登录 iOS SDK 卡在&#34;Confirm&#34;,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/40790745/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/40790745/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Facebook 登录 iOS SDK 卡在 &#34;Confirm&#34;