【问题标题】:Disable Messenger from UIActivityViewController从 UIActivityViewController 禁用 Messenger
【发布时间】:2017-05-11 09:24:06
【问题描述】:

我想从 UIActivityViewController 选项中禁用 Messenger。我知道有 excludeActivityTypes 属性,我可以从显示中排除一些活动。它工作正常,我禁用了我想要的。但是我的共享选项中仍然有 Messenger,这也是我想要排除的。我不知道该怎么做。我可以通过使用 rawValue 再设置一个 UIActivityType 来禁用它吗? Messenger Share Extension 的 rawValue 是什么?感谢您的帮助

  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: "?")]

【问题讨论】:

  • 请删除这三个原始值。它可能会导致问题。如果它解决了您的问题,请发表评论。我需要知道这一点。 @Libor Zapletal
  • 添加这个 UIActivityType(rawValue: "com.facebook.Messenger") 并尝试
  • @MahipalSingh 不,Messenger 还在。

标签: ios swift uiactivityviewcontroller facebook-messenger ios8-share-extension


【解决方案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")
     }
}

【讨论】:

  • 您能否确认排除 Messenger 确实有效?在 Xcode 9.4.1、iOS 11.4 中似乎没有
猜你喜欢
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
相关资源
最近更新 更多