我正在使用UIDocumentBrowserViewController处理基于文档的应用。应用程序本身创建txt文件,用户可以编辑和保存。
我想将这些文件发送到Apple Watch上的配套应用。然后用户可以阅读手表上的那些。 UIDocument由我的应用程序读取并转换为与WCSession一起发送。
现在的问题是:我如何唯一地识别UIDocument?
我知道我可以通过在文件名或每个文本文件的末尾放置一个UUID来创建自己的标识符,但这不是一个很好的解决方案。
答案 0 :(得分:0)
Apple recommends the UUID for a filename approach,但确实提到您可以让用户在创建后更改显示名称。
UIDocument类假定文件名之间的对应关系 文档和文档名称(也称为显示名称)。通过 默认情况下,UIDocument将文件名存储为 localizedName属性。但是,应用程序不应该要求 用户在他或她时提供文档文件名或显示名称 创建一个新文档。
对于您的应用程序,您应该设计一些约定 自动生成新文档的文件名。一些 建议是:
为每个文档生成UUID(通用唯一标识符), 可选择使用特定于应用程序的前缀。
为每个文档生成时间戳(日期和时间),可选择使用特定于应用程序的前缀。
对于文档(显示)名称,您最初可能会使用该文档 文件名,如果有意义(例如“注1”)。或者,如果 文档包含文本,用户在文档中输入一些文本, 你可以使用第一行(或第一行的某些部分)作为 显示名称。 您的应用程序可以为用户提供一些自定义方式 创建文档后的文档名称。
答案 1 :(得分:0)
为什么不使用URLResourceKey.documentIdentifierKey
?这是一个持久标识符,可以跨重命名和安全保存跟踪文档。