【问题标题】:Multiple inheritance from classes 'UIApplication' and 'FBSDKApplicationDelegate'从类“UIApplication”和“FBSDKApplicationDelegate”的多重继承
【发布时间】:2017-11-11 15:03:26
【问题描述】:

我正在使用来自 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

【问题讨论】:

    标签: swift facebook inheritance


    【解决方案1】:

    您好像正在通过这种方式或类似方式使用FBSDKApplicationDelegate

    class AppDelegate: UIResponder, UIApplicationDelegate, FBSDKApplicationDelegate
    

    请仔细查看FBSDKApplicationDelegate

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

    它不是那样使用的。不要从FBSDKApplicationDelegate 继承AppDelegate。让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 创建了一个演示项目。你可以试试看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 2012-06-17
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多