【问题标题】:Implementation of application:openURL:sourceApplication:annotationapplication:openURL:sourceApplication:annotation 的实现
【发布时间】:2016-10-12 15:12:53
【问题描述】:

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

应用的实现:openURL:sourceApplication:annotation: not found。请将处理程序添加到您的 App Delegate 中。类: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
}

【问题讨论】:

  • 您正在使用哪种语法 2.3 或 3.0?

标签: ios swift facebook xcode8 appdelegate


【解决方案1】:

你的函数定义:

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

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

应用的实现:openURL:sourceApplication:annotation

【讨论】:

  • 感谢您的帮助,这就是问题所在
猜你喜欢
  • 2017-02-13
  • 2016-11-18
  • 2011-05-14
  • 1970-01-01
  • 2015-04-05
  • 2011-11-16
  • 1970-01-01
  • 2015-11-19
  • 1970-01-01
相关资源
最近更新 更多