((Catalina)iCloud Drive中用户选择的文件夹内的废纸]

问题描述 投票:1回答:1

我的应用程序可以处理用户选择的任何文件夹内的用户txt文件(创建,更改,删除)。我只是在内部存储书签,以访问该用户选择的文件夹和文件。

现在,当源文件夹位于iCloud Drive中时,使用macOS Catalina时,系统仍然允许我创建和编辑文件。 但是不允许丢一个。当我尝试通过[[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...方法,但是它会产生一个额外的删除提示,不适合我。

P.P.S。我仍然可以使用[[NSFileManager defaultManager] removeItemAtURL: ...]方法,但是我需要目标文件可恢复,以防用户改变主意。

file cocoa delete-file catalina recycle-bin
1个回答
0
投票

好看起来这是一种罕见的情况。但是,如果您遇到同样的情况,这就是我最后得到的结果:

[不赞成使用的函数FSMoveObjectToTrashSync-仍然可以正常使用。它现在保存了我的屁股。

© www.soinside.com 2019 - 2024. All rights reserved.