SLServiceTypeFacebook' 在 iOS 11.0 中已弃用

Posted

技术标签:

【中文标题】SLServiceTypeFacebook\' 在 iOS 11.0 中已弃用【英文标题】:SLServiceTypeFacebook' was deprecated in iOS 11.0SLServiceTypeFacebook' 在 iOS 11.0 中已弃用 【发布时间】:2017-11-01 11:06:11 【问题描述】:

我正在使用 xcode 9 开发一个项目,我之前的代码之一发出警告说该代码已被弃用,它不会触发操作。代码如下。我该如何克服呢?

@IBAction func shareOnFacebookButtonPressed(_ sender: Any) 

    let shareToFacebook : SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
    shareToFacebook.add(UIImage(named:"pureLightSocial"))
    self.present(shareToFacebook, animated: true, completion: nil)

【问题讨论】:

看到这个***.com/questions/44879798/… About "SLComposeViewController" in ios 11 beta的可能重复 【参考方案1】:

Settings 应用中的FacebookTwitter 和其他应用选项已被删除。

这些应用现在将被视为其他应用,使用 iOS sharing extensions

let share = [image, text, url]
let activityViewController = UIActivityViewController(activityItems: share, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
self.present(activityViewController, animated: true, completion: nil)

您也可以使用第三方SDK进行个人分享

Facebook Sharing Doc

Twitter Sharing Doc

【讨论】:

抱歉没听懂? 因为在此不允许像 SLComposeViewController 允许的那样使用浏览器共享内容(图像和简短描述)。我需要像 SLComposeViewController 那样分享它。但现在看来它已经被弃用了 那么你只有一个选项可以搭配 facebook 的 sdk 和 graph api。 共享扩展有自己的功能并且它是内置的,所以你没有改变它。让我检查一下 sdk 共享。 遗憾的是,自从写了这个答案后,Twitter 现在也停止了对 Twitter Kit 的支持,这又删除了另一个选项:blog.twitter.com/developer/en_us/topics/tools/2018/…

以上是关于SLServiceTypeFacebook' 在 iOS 11.0 中已弃用的主要内容,如果未能解决你的问题,请参考以下文章

SLComposeViewController 会崩溃

如何在朋友的墙上发帖?

Facebook 身份验证后视图显示延迟

iphone社交框架,使文本只读

如何使用 Swift 在 FB 页面上发帖

为 Facebook 编写一个简单的共享按钮