我正在尝试使用SLComposeViewController在iOS应用程序中分享帖子到Facebook。但是,如果我在post上点击cancel,结果将返回给完成处理程序"Done“,而不是”cancel“。当我点击post时,它会关闭并冻结应用程序,而不返回任何结果。如果设备上没有安装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()
}发布于 2015-05-04 18:11:15
我在Facebook8.3上也有同样的问题,而且只有iOS的服务类型。看起来像是苹果在社交框架中的bug。
https://stackoverflow.com/questions/29979813
复制相似问题