Значок загрузки NSFileProviderItem всегда виден

Я разрабатываю NSFileProvider. В приложении "Файлы" в представлении папки значок загрузки отображается рядом с каждым файлом независимо от значения, возвращаемого функцией isDownloaded в соответствующем элементе поставщика файлов, как показано на рисунке ниже:

Интересные вещи, которые я заметил:

  • Если я вообще не реализую функцию isDownloaded, значок не появится.
  • Если я реализую функцию, значок присутствует независимо от значения, возвращаемого функцией isDownloaded.
  • Также реализована функция isDownloading, и она отлично работает (движущийся круг появляется во время операции загрузки, но затем возвращается к значку "загрузка" вместо пробела, как у других провайдеров).

Можете ли вы помочь мне скрыть значок для файлов, которые были загружены?

Я проверил Drive и Dropbox, и значок работает как положено, поэтому я что-то упускаю наверняка.

Чтобы перепроверить, я попытался реализовать isDownloaded, чтобы всегда возвращать true, но значки все равно появляются. Они исчезают только когда я удаляю реализацию.

0 ответов

Я столкнулся с той же проблемой, и хотя вопрос уже "немного" старый, он может помочь другим. УстановкаisDownloaded для свойства yes, придает вашему элементу правильное состояние, как вы можете видеть во всплывающем информационном окне:

[скачать информацию во всплывающем окне

Решение - установить свойство isMostRecentVersionDownloadedзначение true, если локальный файл (если он существует) является самой последней версией на сервере. Это не проверяет, действительно ли файл доступен на устройстве.

Из документов:

Логическое значение, указывающее, является ли элемент самой последней версией, загруженной с сервера.

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