Мое приложение работает с пользовательскими txt-файлами (создание, изменение, удаление) внутри любой выбранной пользователем папки. Я просто храню закладку внутри, чтобы получить доступ к этой выбранной пользователем папке и файлам.
Теперь с macOS Catalina, когда исходная папка находится внутри iCloud Drive, система по-прежнему позволяет мне создавать и редактировать файлы. Но не позволяет удалить один из них. Когда я пытаюсь сделать это через [[NSFileManager defaultManager] trashItemAtURL: ... ]
, я получаю следующую ошибку:
Error Domain=NSCocoaErrorDomain
Code=3328
"<filename> couldn’t be moved to the trash
because the volume “<APFS volume name>”
doesn’t have one."
UserInfo={
NSURL=file:///... <filepath>.txt,
NSUserStringVariant=Trash
}
Примечание. Это происходит только в том случае, если приложение находится в песочнице.
Есть идеи, как правильно отправить файл в корзину?
P.S. Я знаю, что есть метод NSWorkspace recycle...
, но он выдает дополнительное приглашение на удаление, которое мне не подходит.
П.П.С. Я все еще могу использовать метод [[NSFileManager defaultManager] removeItemAtURL: ...]
, но мне нужно, чтобы целевой файл можно было восстановить, если пользователь передумает.