Отключить дубликат опции в расширении FileProvider
Как видно из названия, я пишу расширение для приложения "Файлы". В этом расширении доступ пользователей к некоторым узлам будет ограничен. Так, например, пользователь может иметь только права на чтение и создание для узла, то есть он не может ничего удалить внутри этого узла. Поэтому параметры перемещения и удаления должны быть недоступны.
Для реализации этого я динамически определяю NSFileProviderItemCapabilities
для каждого NSFileProviderItem
на основе базовой концепции разрешений. Это работало для каждой опции, кроме опции дублирования, которая, кажется, включена независимо от того, какие возможности я назначаю / не назначаю.
Поскольку у пользователя нет разрешений на создание узла, он, естественно, не может создать дубликат в этом месте. Ближайший NSFileProviderItemCapabilities
Я нашел был .allowsAddingSubItems
,
Пример: мы находимся в узле с именем "чтение" (у пользователя есть только права на чтение для этой комнаты), поэтому NSFileProviderItemCapabilities
из этой комнаты только .allowsContentEnumerating
, "read" содержит папку "Random", которая также имеет только .allowsContentEnumerating
возможность. Так как .allowsDeleting
возможность не установлена, опция удаления отображается серым цветом, а также, так как .allowsReparenting
возможность не установлена, опция перемещения выделена серым цветом.
,
Тем не менее .allowsAddingSubItems
возможность не установлена, но опция дублирования включена.
Здесь действительно не очень помогает документация Apple: https://developer.apple.com/documentation/fileprovider/nsfileproviderextension/providing_support_for_user-driven_actions даже не упоминает дублирующуюся функциональность, которую предоставляет приложение "Файлы". Также пока нет много материала на эту тему.
Таким образом, вопрос сводится к следующему: кто-нибудь знает, как отключить этот дубликат?
Заранее спасибо!