【问题标题】:Share sheet - exclude options which are not provided as Type Properties in UIActivityType共享表 - 排除 UIActivityType 中未作为类型属性提供的选项
【发布时间】:2018-04-08 12:33:34
【问题描述】:

我想从共享表中排除 Add to iCloud Drive, Add to Reading List, Save to Files & Print

我可以使用以下代码排除添加到阅读列表和打印选项。因为已经提供了这些type properties

activityViewController.excludedActivityTypes = [ UIActivityType.print, UIActivityType.addToReadingList ]

当我搜索 google 后,我找到了一种删除类型属性中未包含的选项的方法,如下所示(例如:添加到 iCloud 驱动器)

UIActivityType(rawValue: "com.apple.CloudDocsUI.AddToiCloudDrive")

我想知道如何找到行值以排除type properties 中未定义的其他选项。例如保存到文件

【问题讨论】:

  • 有什么更新吗?我正在尝试排除保存到文件

标签: ios swift ios11 ios-sharesheet


【解决方案1】:

确定哪些UIActivityType 值用于未记录类型的最简单方法是添加一个completionWithItemsHandler: 块,该块记录调用它的UIActivityType 参数。然后使用您的应用分享某些内容并选择您要为其查找价值的活动类型。将调用完成处理程序,记录其类型。

或者,您可以创建自己的实现UIActivityItemSource 的对象,将其添加到您正在共享的项目活动中并实现activityViewController(_:itemForActivityType:) 并记录类型。

【讨论】:

    【解决方案2】:

    出于我的目的,我尝试了 Geoff 的建议(通过实现 completionWithItemsHandler 记录 UIActivityType):禁用“添加到笔记”、“添加提醒”和“保存到文件”。它适用于“保存到文件”除外。

    Save to Files UIActivityType 的记录类型与此问题中列出的类型相同,并且将其添加到 excludedActivityTypes 不适用于 iOS 11.1.2。其他人(hereand here)也遇到了这个问题。

    目前似乎没有办法排除保存到文件UIActivityType。希望 Apple 会尽快更新有关如何执行此操作的文档。

    【讨论】:

    • 任何人对此有任何更新,苹果是否已经解决了这个问题?
    • @SumitKapadia 有人对这个问题有更新吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2018-06-21
    • 1970-01-01
    相关资源
    最近更新 更多