【问题标题】:Facebook for swift 4.2 implementation errorFacebook for swift 4.2 实施错误
【发布时间】:2019-10-29 05:36:22
【问题描述】:

您好,我正在开发一个需要 Facebook 登录按钮才能让我们的用户使用 facebook 帐户登录的项目。但问题是我遇到了错误。文档似乎很旧,并且无论如何都无法正常工作。 Here 是为了 swift。

我的项目有 swift 4.2。在我的 pod 文件中,我使用了以下依赖项

pod 'FacebookCore' 
pod 'FacebookLogin'

在我的 AppDelegate 下面是我的代码

import FacebookCore

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
  SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
  return true
}

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
  return SDKApplicationDelegate.shared.application(app, open: url, options: options)
}

我收到以下错误。不管我构建了多少次项目,清理了多少次

错误使用未解析的标识符“SDKApplicationDelegate”

请告诉我这里有什么问题?我必须在这里做什么以及我缺少什么。如果有一些好的 swift 教程,请分享给我一个链接

谢谢

【问题讨论】:

  • 你可以试试快速pod update 以防万一吗?
  • 是的尝试过......但我认为这是旧文档

标签: ios facebook-sdk-4.0 swift4.2


【解决方案1】:

我发现了一个最近的项目实现 FB 登录。就这样吧

在 Podfile 中 pod 'FBSDKLoginKit'

在 AppDelegate 中

import UIKit
import FBSDKCoreKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        ApplicationDelegate
            .shared
            .application(application,
                         didFinishLaunchingWithOptions: launchOptions)
        ...
        return true
    }

    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {

            return ApplicationDelegate.shared.application(app, open: url, options: options)
    }
}

编辑 2019/10/29

https://developers.facebook.com/docs/swift/implement-the-sdk测试

Pod 文件:

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

AppDelegate:

import UIKit
import FacebookCore

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        ...

        ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
        return true
    }

    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return ApplicationDelegate.shared.application(app, open: url, options: options)
    }
}

看来他们在文档中弄错了,SDKApplicationDelegate 必须重命名为ApplicationDelegate

【讨论】:

  • 据我所知,由于 Swift 文档不起作用,我只是使用 obj-c 之一 developers.facebook.com/docs/facebook-login/ios 知道在 swift 中做什么
  • 您分享的链接并拥有 Obj C 实现
  • 我在测试 swift 文档后更新了我的答案。和我之前做的一样。他们的文档中似乎有一个错误
  • 应用打开url函数已经返回google的GIDSignIn怎么办?
猜你喜欢
  • 1970-01-01
  • 2019-05-31
  • 1970-01-01
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
相关资源
最近更新 更多