我正在使用来自facebook网站https://developers.facebook.com/docs/ios的iOS SDK,但是当我将FBSDKApplicationDelegate
添加到应用程序委托中时,我收到一个错误
从类“UIApplication”和“FBSDKApplicationDelegate”的多重继承。
我不能使用Swift SDK,因为我的项目在XCode 8.2.1上,而用于Facebook的Swift SDK需要8.3
最佳答案
好像你在用这种方式或类似的方式
class AppDelegate: UIResponder, UIApplicationDelegate, FBSDKApplicationDelegate
请仔细看一下FBSDKApplicationDelegate。
讨论:
此类中的方法旨在镜像UIApplicationDelegate中的方法,您应该在AppDelegate实现中的相应方法中调用它们。
不是那样用的。不要从
FBSDKApplicationDelegate
继承AppDelegate
。在FBSDKApplicationDelegate
方法中使用FBSDKApplicationDelegate
方法您可以按照此问题的答案学习如何使用
AppDelegate
Integration new facebook SDK by swiftfunc 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 SDKIntegrateFBSDK创建了一个演示项目。你可以试试。
关于swift - 从类'UIApplication'和'FBSDKApplicationDelegate'的多重继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47239310/