Я пытаюсь использовать SLComposeViewController для публикации сообщения в Facebook в приложении iOS. Однако, если я нажимаю кнопку «Отмена» в сообщении, результат «Готово» возвращается обработчику завершения вместо «Отменено». Когда я нажимаю на публикацию, приложение закрывается и просто зависает, не возвращая никакого результата. Этот код отлично работает, если на устройстве не установлено приложение 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()
}