SLComposeViewController 错误结果

4

我正在尝试在iOS应用中使用SLComposeViewController将帖子分享到Facebook。但是,如果我取消发布,完成处理程序会返回“Done”而不是“Cancelled”的结果。当我点击发布时,它会关闭并冻结应用程序而不返回任何结果。如果设备上没有安装Facebook应用程序,则此代码可以正常工作。

这是我用于Facebook部分的代码:

if SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook) {
                    var facebookVC: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
                        facebookVC.completionHandler = {
                            (result: SLComposeViewControllerResult) -> Void in
                            println("result: \(result.rawValue)")
                            switch(result) {
                                case SLComposeViewControllerResult.Cancelled:
                                    println("Facebook CANCELLED")
                                    break;
                                case SLComposeViewControllerResult.Done:
                                    println("Facebook DONE")
                                    self.facebookButton.selected = true
                                    self.facebookButton.userInteractionEnabled = false
                                    break;
                                default:
                                    break;
                            }
                        }
                    self.presentViewController(facebookVC, animated: true, completion: nil)
                } else {
                    var alert: UIAlertView!
                    alert = UIAlertView(title: "No Facebook Account", message: "There are no Facebook account configured. You can add or create a Facebook account in Settings", delegate: self, cancelButtonTitle: "OK")
                    alert.show()
                }

自8.3版本以来,我也遇到了同样的问题 - 当取消SLServiceTypeFacebook时,SLComposeViewControllerResultDone被返回。 - Philipp Möhler
这个问题在这个漏洞报告中讨论。 - amudi
目前,我正在检查设备上是否安装了Facebook应用程序,如果是,则在成功对话框中向用户发出警报,指出取消的帖子将错误地报告为已发布,即使它们没有。我认为这个错误是Facebook代码的问题,而不是Social框架的问题。根据上述Fb错误报告,看起来他们并没有急于解决这个问题。如果安装了Fb应用程序,苹果让他们替换核心iOS操作的自己的实现方式,这让人感到惊讶。 - Chad Podoski
1个回答

2

我在iOS 8.3上只在Facebook服务类型中遇到了相同的问题。 看起来是苹果社交框架中的一个bug。


我也遇到同样的问题,而且只有在 Facebook 上出现。 - adrian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接