Swift的Facebook SDK文档是否已过时?什么是相应的SDK版本?

时间:2018-02-15 13:41:22

标签: ios swift facebook

我正在构建一个需要在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

所以看起来Facebook SDK for Swift的文档已经过时了。我对么?如果有,有人可以指导我使用最新版本吗?或者我的其他选择是什么? 如果有人至少可以告诉我当前文档对应的版本,那么至少我可以开始使用旧版本的SDK。

1 个答案:

答案 0 :(得分:1)

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"))

P.S。同样,这就是你应该重新输入他们的示例代码而不是复制/粘贴的原因。只要您输入let content = LinkShareContent(,Xcode就会告诉您初始值设定项需要URL而不是NSURL