application:openURL:sourceApplication:annotation 的实施

Implementation of application:openURL:sourceApplication:annotation

我在 Xcode8 发布之前就开始开发应用程序,然后切换过来,当我尝试使用 Facebook 登录登录应用程序时,出现以下错误

Implementation of application:openURL:sourceApplication:annotation: not found. Please add the handler into your App Delegate. Class: GhostGab.AppDelegate

我检查了所有设置,它们看起来都不错。任何帮助将不胜感激

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    FIRApp.configure()
    FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
    return true
}

  func application(application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {

    let facebookDidHandle = FBSDKApplicationDelegate.sharedInstance().application(
        application,
        open: url,
        sourceApplication: sourceApplication,
        annotation: annotation)
    // Add any custom logic here.
    return facebookDidHandle
}

您的函数定义:

func application(application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
}

应替换为:

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
}

第一个参数有一个下划线,Any 代替最后一个参数类型的 AnyObject

这就是您收到错误的原因:

Implementation of application:openURL:sourceApplication:annotation