iCloud 容器创建唯一的文件名

Posted

技术标签:

【中文标题】iCloud 容器创建唯一的文件名【英文标题】:iCloud container create unique filenames 【发布时间】:2015-12-21 15:42:06 【问题描述】:

是否可以确保在 iCloud 容器中创建的所有文件都具有唯一的文件名?我可以想象,随着许多设备的运行,我最终会偶然发现在许多设备上创建的同名文件。

当然,最简单的解决方案是在所有文件名前加上小时/分钟/秒,但我想保持一个很好的文件结构,其中冲突的文件将用版本号重命名。

在我的例子中,我按月和年组织文件存储,因此在每个月内,文件被命名为文件 1、文件 2、文件 3...文件 n。

【问题讨论】:

您是否考虑过后挂 UUID? @JanGreve 当然,但这不是很丑吗?我正在考虑是否可以使用唯一的文件名,然后以某种方式设置 NSMetadataItemDisplayNameKey 以更加用户友好。 【参考方案1】:

我发现 iCloud 会自动重命名在不同设备上创建的同名文件。 iCloud 编号文件,如果它发现文件名末尾的数字,例如如果文件File - 1337.jpg在不同的设备上创建了两次,那么在同步一个或另一个文件后将自动重命名为File -1338.jpg

【讨论】:

以上是关于iCloud 容器创建唯一的文件名的主要内容,如果未能解决你的问题,请参考以下文章

如何访问另一个应用程序的 iCloud 容器(使用另一个开发人员配置文件和在该配置文件中创建的 icloud 容器开发的应用程序)?

如何在没有 UIDocumentPickerViewController 的情况下访问所有 iCloud 驱动器文件(应用程序容器外)?

验证 iCloud 容器上的文档是不是存在

来自 WKWebview 的 iCLoud 文档选择器关闭容器视图

iCloud设置和配置

关闭 iCloud 并从无处不在的容器中删除项目