![](/img/trans.png)
[英]The Facebook SDK for Swift 4 is outdated. Should I use Facebook SDK for iOS instead?
[英]Is Facebook SDK Documentation for Swift outdated? What is the corresponding SDK version?
我正在构建一个需要在Facebook上共享的iOS应用。 我在Xcode(9)上使用Swift(4)。 因此,我开始使用Facebook官方页面-> Facebook Swift SDK中的文档。但是,令我惊讶的是,本页中列出的几乎每个示例以及其他示例都给出了编译错误。 例如,在此页面上,存在如下建议的LinkShareContent
方式:
import FacebookShare
let content = LinkShareContent(url: NSURL("https://developers.facebook.com"))
try ShareDialog.show(from: myViewController, content: content)
但是当我将其添加到代码中的那一刻,我得到了错误-> Argument labels '(_:)' do not match any available overloads
与NSURL
上Argument labels '(_:)' do not match any available overloads
因此,似乎用于Swift的Facebook SDK的文档已过时。 我对么? 如果是,有人可以指导我更新到最新版本吗? 或我还有其他选择吗? 如果有人至少可以告诉我当前文档对应的版本,那么至少我可以开始使用旧版本的SDK。
该SDK已针对Swift 4进行了更新,但显然不是文档。 从字符串创建NSURL
的正确Swift 4语法需要一个string
参数标签:
let url = NSURL(string: "https://developers.facebook.com")
您正在查看Facebook的官方文档,所以我不知道该向您介绍最新信息。 在他们的项目中重新键入示例代码可能会有所帮助,以便您可以从Xcode获得正确的自动完成建议。
编辑:在Swift中,许多带有NS
前缀的类已被不带前缀的类所替代。 例如,已将NSURL
替换为URL
。 Facebook已更新其LinkShareContent
类以在初始化程序中采用URL
:
public init(url: URL, quote: String? = nil)
所以这应该工作:
let content = LinkShareContent(url: URL(string: "https://developers.facebook.com"))
PS再次,这就是您应该重新键入其示例代码而不是复制/粘贴的原因。 键入let content = LinkShareContent(
,Xcode会告诉您初始化器需要URL
而不是NSURL
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.