swift - Swift 上的 FB 分享功能

标签 swift facebook

我正在使用 Swift 在 iOS 应用程序上实现 FB 共享功能,我使用的模块是“Facebookshare”,我已经得到了正确的结果,但我需要知道结果。似乎每次都会弹出一个窗口,当我发布或取消时,窗口就会关闭并且没有返回值返回给我。我需要知道它是由用户发布还是取消,那么我应该如何更正我的代码? 任何想法将不胜感激。 相关代码:

import FacebookShare

let urlToGet = //urlToGetTheContent 
let content = LinkShareContent(url: NSURL(string: urlToGet)! as URL)
 do { let x = try ShareDialog.show(from: self, content: content)
      print(x) //x is to show the status, but it is always 'FacebookShare.ShareDialog<FacebookShare.LinkShareContent>'
      } catch {
      //handling errors
        }

另外,我在Facebook官网上看到了这个例子,虽然可以编译,但我的应用程序在执行代码时总是崩溃,所以我没有使用它。 https://developers.facebook.com/docs/swift/sharing/graph-api
有人知道如何更正文档中的代码以使其正常工作吗?那么我想我的问题就解决了。

最佳答案

这有点令人困惑,因为 ShareDialog 类有一个静态 show 方法以及一个同名的实例方法。在您的代码片段中,您正在访问静态(类级别)函数版本 ShareDialog.show (注意大写的 s)。

阅读有关 Sharing With The Share Dialog 的部分查看调用实例方法 shareDialog.show 的代码片段(注意小写的 s)。示例代码展示了如何指定完成处理程序来处理您正在查找的结果,该结果的类型为 ContentSharerResult(包含 Success、Failed、Cancelled 的枚举)。

顺便说一句,静态函数还接受完成处理程序作为可选参数,默认为 nil。如果您喜欢并且熟悉闭包语法,您可以使用它。否则,请使用链接中所示的实例方法。

关于swift - Swift 上的 FB 分享功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464571/

相关文章:

ios - discoverAllContactUserInfosWithCompletionHandler 结果空白

swift - 像进度条一样动态更改按钮背景颜色

swift - 代码重构 - Swift

ios - 在 iOS 上上传个人资料图片时打开 Facebook 应用

Android facebook sdk 第二次登录问题

ios - 按下按钮后 swift 出现 SIGABRT 错误 - segue 不执行

swift - 如何删除 Realm 父对象及其所有子对象?

ios - ShareKit - 在 Facebook 上分享

php - 用于解析YouTube嵌入式代码的正则表达式

facebook - 无法使用 facebook graph_api debug_token 调试用户 access_token