ios – 使用Swift SDK处理Facebook登录的开放网址

ios – 使用Swift SDK处理Facebook登录的开放网址,第1张

概述我正在使用新的 Facebook Swift SDK而不是Objective C SDK. 以前,必须实现AppDelegate.swift中的openURL.但是,Facebook的Swift教程并没有涉及这一部分. 记录以下内容: 应用程序的实现:openURL:sourceApplication:annotation:not found.请将处理程序添加到App Delegate中.课程:S 我正在使用新的 Facebook Swift SDK而不是Objective C SDK.

以前,必须实现AppDelegate.swift中的openURL.但是,Facebook的Swift教程并没有涉及这一部分.

记录以下内容:

应用程序的实现:openURL:sourceApplication:annotation:not found.请将处理程序添加到App Delegate中.课程:ShoppIE.AppDelegate

但我的实现不起作用:

func application(_ app: UIApplication,open url: URL,options: [UIApplicationopenURLOptionsKey : Any] = [:]) -> Bool {        return GIDSignIn.sharedInstance().handle(url as URL!,sourceApplication: options[UIApplicationopenURLOptionsKey.sourceApplication] as! String,annotation: nil)    if (url.scheme?.hasPrefix("fb"))! {        return FBSDKApplicationDelegate.sharedInstance().application(app,open: url,sourceApplication: options[UIApplicationopenURLOptionsKey.sourceApplication] as! String!,annotation: nil)    } else {        return GIDSignIn.sharedInstance().handle(url as URL!,annotation: nil)    }    return false}

由于:

Use of unresolved IDentifIEr 'FBSDKApplicationDelegate'

我通过在Podfile中添加以下内容来安装Swift SDK:

pod 'FacebookCore'pod 'FacebookLogin'pod 'FacebookShare'

并运行pod安装.

我找不到更新的代码应该是什么.

解决方法 他们的文档有点缺乏,但他们确实在他们的github存储库中提供了一个很好的示例应用程序.见 https://github.com/facebook/facebook-sdk-swift/blob/master/Samples/Catalog/Sources/AppDelegate.swift

这是我用来将SDK插入我的应用程序的代码(Swift 3):

import FacebookCore@UIApplicationMainclass AppDelegate: UIResponder,UIApplicationDelegate {  func application(_ application: UIApplication,dIDFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {    SDKApplicationDelegate.shared.application(application,dIDFinishLaunchingWithOptions: launchOptions)    return true  }  func application(_ application: UIApplication,sourceApplication: String?,annotation: Any) -> Bool {    if let _ = Bundle.main.object(forInfoDictionaryKey: "FacebookAppID") as? String {      return SDKApplicationDelegate.shared.application(application,sourceApplication: sourceApplication,annotation: annotation)    }      return false    }  @available(iOS 9.0,*)  func application(_ application: UIApplication,options: [UIApplicationopenURLOptionsKey : Any]) -> Bool {    if let _ = Bundle.main.object(forInfoDictionaryKey: "FacebookAppID") as? String {      return SDKApplicationDelegate.shared.application(application,options: options)    }      return false  }}

仅供参考 – facebook swift库基本上只是其标准objective-c库的包装器.

总结

以上是内存溢出为你收集整理的ios – 使用Swift SDK处理Facebook登录开放网址全部内容,希望文章能够帮你解决ios – 使用Swift SDK处理Facebook登录的开放网址所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1209502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存