iOS 11.0中废弃了'SLServiceTypeFacebook'。

13

我正在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)
}

请查看此链接:https://dev59.com/6FcP5IYBdhLWcg3wFmne - Anbu.Karthik
1个回答

13

设置应用程序中,FacebookTwitter和其他应用选项已被删除。

这些应用现在将像其他应用一样,使用iOS的共享扩展

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 分享文档

Twitter 分享文档


1
抱歉,我不理解? - Harshal Valanda
这不允许使用浏览器分享内容(图像和简短描述),就像SLComposeViewController一样。我需要一种像SLComposeViewController一样的分享方式。但现在似乎已经过时了,无法使用。 - danu
那么你只有一个选择,就是使用Facebook的SDK和Graph API。 - Harshal Valanda
1
分享扩展具有自己的功能,且内置,因此您不需要更改它。让我检查 SDK 共享功能。 - Harshal Valanda
很遗憾,自从这篇答案写出来以后,Twitter也已经停止了对Twitter Kit的支持,这又消除了一个选项:https://blog.twitter.com/developer/en_us/topics/tools/2018/discontinuing-support-for-twitter-kit-sdk.html - TheNeil
看起来Twitter的API端点现在是预期的替代品:https://developer.twitter.com/en/docs/tweets/post-and-engage/overview - TheNeil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接