在FileProvider扩展中禁用重复选项

时间:2018-11-21 13:04:42

标签: ios swift fileprovider-extension

正如标题所述,我正在编写“文件”应用扩展程序。在此扩展中,用户对某些节点的访问将受到限制。因此,例如,用户可能只在节点上具有读取和创建权限,这意味着他无法删除该节点内的任何内容。因此,移动和删除选项应显示为灰色。

要实现此目的,我根据基础权限概念为每个NSFileProviderItemCapabilities动态定义了NSFileProviderItem。 这适用于除重复选项以外的所有选项,无论我分配/不分配什么功能,该选项似乎都已启用。

由于用户没有节点上的创建权限,因此用户自然无法在该位置创建副本。我发现最接近的NSFileProviderItemCapabilities.allowsAddingSubItems

示例:我们位于名为“ read”的节点中(用户仅具有该房间的读取权限),因此该房间的NSFileProviderItemCapabilities仅是.allowsContentEnumerating。 “ read”包含一个文件夹“ Random”,该文件夹也仅具有.allowsContentEnumerating功能。由于未设置.allowsDeleting功能,因此删除选项显示为灰色;同样,由于未设置.allowsReparenting功能,移动选项显示为灰色。

Screenshot

但是未设置.allowsAddingSubItems功能,并且仍启用了重复选项。

Apple文档在这里确实没有多大帮助:https://developer.apple.com/documentation/fileprovider/nsfileproviderextension/providing_support_for_user-driven_actions甚至都没有提到“文件”应用程序提供的重复功能。 此外,关于此主题的材料还很少。

所以问题归结为:有人知道禁用此重复选项的方法吗?

谢谢!

0 个答案:

没有答案