Отключить Messenger из UIActivityViewController

Я хотел бы отключить Messenger из параметров UIActivityViewController. Я знаю, что есть атрибут excludeActivityTypes, который я могу исключить из показа некоторых действий. Он работает нормально, и я отключаю то, что хочу. Но у меня все еще есть Messenger в моих опциях общего доступа, и это то, что я тоже хочу исключить. Я не знаю, как это сделать. Могу ли я отключить его, установив еще один UIActivityType с помощью rawValue? Каким будет rawValue для расширения обмена сообщениями Messenger? Спасибо за помощь

  vc.excludedActivityTypes = [
    UIActivityType.postToWeibo,
    UIActivityType.print,
    UIActivityType.copyToPasteboard,
    UIActivityType.addToReadingList,
    UIActivityType.assignToContact,
    UIActivityType.print,
    UIActivityType.message,
    UIActivityType.mail,
    UIActivityType.airDrop,
    UIActivityType.postToFlickr,
    UIActivityType.postToVimeo,
    UIActivityType.postToFacebook,
    UIActivityType.postToTwitter,
    UIActivityType.postToTencentWeibo,
    UIActivityType.airDrop,
    UIActivityType.assignToContact,
    UIActivityType(rawValue: "com.apple.reminders.RemindersEditorExtension"),
    UIActivityType(rawValue: "com.apple.mobilenotes.SharingExtension"),
    UIActivityType(rawValue: "?")]

person Libor Zapletal    schedule 11.05.2017    source источник
comment
Удалите эти три необработанных значения. Это может быть причиной проблемы. Пожалуйста, оставьте комментарий, если это решает вашу проблему или нет. Мне нужно это знать. @Либор Заплеталь   -  person iPeter    schedule 11.05.2017
comment
добавьте этот UIActivityType(rawValue: com.facebook.Messenger) и попробуйте   -  person MAhipal Singh    schedule 11.05.2017
comment
@MahipalSingh Нет, Messenger все еще там.   -  person Libor Zapletal    schedule 11.05.2017


Ответы (1)


Вы можете исключить Facebook Messenger, используя

UIActivityType(rawValue: "com.facebook.Messenger.ShareExtension")

если вам нужно проверить, какой тип общего доступа использовал пользователь, вы можете сделать

let activityVC = UIActivityViewController(activityItems: [message, "\n", URL(string:link) as Any], applicationActivities: nil)

activityVC.completionWithItemsHandler = { activity, success, items, err in
    if !success {
        print("SHARE ABORTED")
        return
    }
    if activity == UIActivityType.postToFacebook {
        print("SHARE TO FACEBOOK")
    }

    if activity == UIActivityType.init(rawValue: "net.whatsapp.WhatsApp.ShareExtension") {
       print("SHARE TO Whatsapp")
     }

    if activity == UIActivityType.init(rawValue: "com.facebook.Messenger.ShareExtension") {
        print("SHARE TO FB MESSENGER")
     }
}
person Kegham K.    schedule 24.02.2018
comment
Можете ли вы подтвердить, что исключение Messenger действительно работает? Кажется, в Xcode 9.4.1, iOS 11.4 этого нет. - person Ashley Mills; 11.07.2018