Отключить дубликат опции в расширении 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 даже не упоминает дублирующуюся функциональность, которую предоставляет приложение "Файлы". Также пока нет много материала на эту тему.

Таким образом, вопрос сводится к следующему: кто-нибудь знает, как отключить этот дубликат?

Заранее спасибо!

0 ответов

Другие вопросы по тегам