SLComposeViewController Неверный результат

Я пытаюсь использовать 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()
                }

person CommandaPanda    schedule 01.05.2015    source источник
comment
та же проблема здесь с 8.3 - при прерывании / отмене SLServiceTypeFacebook возвращается SLComposeViewControllerResultDone   -  person Philipp Möhler    schedule 04.05.2015
comment
Это обсуждается в этом отчете об ошибке.   -  person amudi    schedule 12.05.2015
comment
В настоящее время я проверяю, установлено ли приложение Facebook на устройстве, и если это так, я предупреждаю пользователя в диалоговом окне успеха, что отмененные сообщения будут неправильно сообщать как опубликованные, даже если они этого не сделали. Я полагаю, ошибка находится в коде Facebook, а не в социальной структуре. Судя по приведенному выше отчету об ошибке Fb, не похоже, что они спешат исправить это. Удивленная Apple позволила им заменить в своей собственной реализации такое основное действие iOS, если установлено приложение Fb.   -  person Chad Podoski    schedule 14.11.2015


Ответы (1)


У меня такая же проблема с iOS 8.3 и только с типом службы Facebook. Похоже на ошибку Apple в социальной структуре.

person Stanislau Baranouski    schedule 04.05.2015
comment
Такая же проблема здесь и только с Facebook. - person adrian; 11.05.2015