类'UIApplication'和'FBSDKApplicationDelegate'的多重继承

时间:2017-11-11 15:03:27

标签: swift facebook inheritance

我正在使用来自facebook网站https://developers.facebook.com/docs/ios的iOS SDK,但是当我将FBSDKApplicationDelegate添加到App委托时,我收到错误

  

来自类'UIApplication'和'FBSDKApplicationDelegate'的多重继承。

我不能使用Swift SDK,因为我的项目是在XCode 8.2.1上,Swift SDK for Facebook需要8.3

1 个答案:

答案 0 :(得分:1)

好像你是通过这种方式使用FBSDKApplicationDelegate或类似的东西

class AppDelegate: UIResponder, UIApplicationDelegate, FBSDKApplicationDelegate

请仔细查看FBSDKApplicationDelegate

  

讨论:   此类中的方法旨在反映UIApplicationDelegate中的方法,您应该在AppDelegate实现中的相应方法中调用它们

它不是那样使用的。不要从AppDelegate继承FBSDKApplicationDelegate。在FBSDKApplicationDelegate方法

中使用AppDelegate方法

您可以按照此问题Integration new facebook SDK by swift

中的回答了解如何使用FBSDKApplicationDelegate
func applicationDidBecomeActive(application: UIApplication!) {
    FBSDKAppEvents.activateApp()
}

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool {
    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}

有关更多细节和易于理解,我使用Facebook iOS SDK IntegrateFBSDK创建了一个演示项目。你可以尝试一下。