繁体   English   中英

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

[英]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 overloadsNSURLArgument 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM