iCloud Drive中的elcel文件不注意保存了两次就变成了这个东西,文件也找不到了,怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iCloud Drive中的elcel文件不注意保存了两次就变成了这个东西,文件也找不到了,怎么办?相关的知识,希望对你有一定的参考价值。

iCloud Drive中的elcel文件不注意保存了两次就变成了这个东西,文件也找不到了,怎么办?

参考技术A 电脑登录www.icloud.com 点击设置-左下角高级-恢复文件试试追问

网页登录了下看了看,只有最近删除,最近删除里没有文件

追答

哦 那就没有了

iCloud Drive 内用户选择的文件夹中的垃圾文件

【中文标题】iCloud Drive 内用户选择的文件夹中的垃圾文件【英文标题】:Trash files inside user-selected folder inside iCloud Drive 【发布时间】:2019-11-01 19:47:23 【问题描述】:

我的应用程序适用于任何用户选择的文件夹中的用户 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


注意:这只发生在应用被沙盒化时。

知道如何正确删除文件吗?


附:我知道有一个NSWorkspace recycle... 方法,但是它会产生一个不适合我的额外删除提示。

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

【问题讨论】:

奇怪的是,当我尝试 detect 文件是否在 iCloud 垃圾箱中时,我得到了同样的错误:***.com/q/64663834/43615 - 在我的情况下,该应用程序甚至没有被沙盒化. 【参考方案1】:

好的。看起来这是一个罕见的案例。但如果你遇到同样的情况,我的结果是这样的:

有一个已弃用的函数 - FSMoveObjectToTrashSync - 仍然可以正常工作。它暂时救了我的命。

【讨论】:

不幸的是,FSMoveObjectToTrashSync 在 Swift 中似乎不可用。

以上是关于iCloud Drive中的elcel文件不注意保存了两次就变成了这个东西,文件也找不到了,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

为 iOS 应用程序的文件启用 iCloud Drive 文件夹

NSWorkspace openURL 未使用文件类型的默认应用程序打开存储在 iCloud Drive 中的文件

枚举 iCloud Drive 目录

删除 iCloud Drive 文件时删除本地文件

React Native App 中的 iCloud 和 Google Drive 集成

NSMetadataQuery 结果中未包含 iCloud Drive 文档