【问题标题】:Facebook SDK 3.21.1 deprecated methods errorFacebook SDK 3.21.1 已弃用方法错误
【发布时间】:2014-12-29 15:00:11
【问题描述】:

我通过 cocoapods 安装了 facebook SDK,在构建了包含 facebook sdk 的项目后,它显示了 iOS 8 中不推荐使用的方法的 4 个错误。

我想我有最新版本的 facebook SDK (3.21.1) 所以我不知道问题出在哪里。我想知道为什么我有问题以及如何解决它,我不需要知道解决方法。

我知道这些方法已被弃用,但如果更新了 facebook sdk,他们也应该更新这些方法。

你可以在图片中看到我得到的错误

【问题讨论】:

    标签: ios xcode facebook sdk cocoapods


    【解决方案1】:

    那是因为 Facebook 在它的 SDK 上使用了不推荐使用的方法,可能是因为它们必须支持旧版本的 iOS。

    您可以更改Podfile 以忽略依赖项中的警告,如the docs 所述:

    pod 'Facebook-iOS-SDK', :inhibit_warnings => true
    

    您也可以忽略来自所有依赖项的警告:

    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '8.0'
    inhibit_all_warnings!
    
    pod 'Facebook-iOS-SDK'
    

    【讨论】:

    • 感谢@Marcelo Fabri,第一个命令删除了依赖项的警告。但我想知道将来它是否不会在我的应用程序上显示警告。
    【解决方案2】:

    这是来自 Facebook SDK 的示例,对吧!?我的意思是现在它只是被弃用但并非不受支持。所以他们仍然可以在他们的例子中使用它。但是你不应该在你的项目中使用它!为了在不使用已弃用的方法的情况下管理必要的任务,在线有很多解决方法。

    如果这将是您的项目,则警告将在不使用 FB SDK 的情况下已经存在,因为它与 iOS 相关而不与 FB 相关。

    【讨论】:

    • 是的,它是 Facebook SDK 的示例!刚刚启动应用程序,构建并运行并收到此警告
    • 正如我已经提到的,这只是一个示例,他们可能会在新的 SDK 版本中对其进行更新。现在它不是那么重要,因为它仍在工作。尽管如此,我还是建议您为自己的项目使用已发布的替代方案,而不是使用已弃用的功能。像 Facebook 这样的大公司也需要时间来更新他们的 SDK。他们不会仅仅因为他们的示例中有几个不推荐使用的函数而发布更新。
    • 是的,我明白这一点。我认为我不会使用那种方法。这只是困扰我的警告。谢谢
    • 我能理解你的意思。我的意思是,如果您查看示例或类似内容,然后收到警告甚至错误,这总是很奇怪。你会期望一个正常工作的设置,但这有时会发生;)
    【解决方案3】:

    这些项目是由 Apple 而不是 Facebook 弃用的。

    对于设备方向,尝试使用UITraitCollection 获取有关设备方向的信息,即:

    self.traitCollection.verticalSizeClass
    self.traitCollection.horizontalSizeClass
    

    对于 NSGregorianCalendar,尝试使用 NSCalendarIdentifierGregorian

    【讨论】:

    • 我了解这些项目已被 Apple 弃用。感谢您的帮助
    猜你喜欢
    • 2016-08-19
    • 1970-01-01
    • 2023-02-16
    • 2012-07-03
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    相关资源
    最近更新 更多