【发布时间】:2017-11-27 11:33:31
【问题描述】:
我正在使用通过 cocoapods 安装的 swift SDK。我想要的是一个简单的分享功能,当返回不同的结果时有不同的消息警报,例如.cancelled或.success。
分享部分很好,我可以将内容发布到我的 facebook,但发布后它保持空白并且不会返回成功。退出空白屏幕的唯一方法是单击左上角的完成按钮,但这将返回取消。实际发布成功后,我需要显示不同的消息。
这是我的代码:
let url=URL(string: imageUrl as String)
let content = LinkShareContent(url: url!)
let shareDialog = ShareDialog(content: content)
shareDialog.presentingViewController = self
shareDialog.mode = .browser
shareDialog.failsOnInvalidData = true
shareDialog.completion = { result in
// Handle share results
switch result{
case .success:
self.view.showToast("Shared successfully", position: .bottom, popTime: 1, dismissOnTap: false)
case .failed:
self.view.showToast("Shared failed", position: .bottom, popTime: 1, dismissOnTap: false)
case .cancelled:
self.view.showToast("Shared cancelled", position: .bottom, popTime: 1, dismissOnTap: false)
}
}
try? shareDialog.show()
当我实际取消帖子时,它会给出预期的警报消息,因此该部分是正确的。我尝试使用 .sharesheet 模式,在该模式下,对话框将自行关闭,返回成功并在发布内容后给出正确的警报消息。
所以我的问题是,我的代码是否有问题无法返回成功?还是.browser 模式?无论哪种情况,如何让它在发布后自动关闭并获得成功返回?
谢谢你们。
【问题讨论】: