问题标签 [ubiquitycontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
11 浏览

delete-file - UbiquityContainer:跟踪已删除文件与重命名文件

我的应用程序在 iCloud Ubiquity Container 中跟踪文件(PDF、文本...)。用户通过我的应用程序可以向每个文件(注释、标签...)添加属性。这些属性在每个设备的数据库中维护,我使用文件 url 来跟踪文件。一切正常。当文件被删除或添加等时,我会得到正确的通知......那里没有问题。

唯一的问题是重命名文件时。如果我的应用程序正在运行,我会收到文件 url 更改的通知,但我不知道哪个文件被重命名(我没有得到旧的 url)。如果在我的应用程序未运行时发生重命名,那么在启动时,在收集阶段,它看起来像一个文件被删除并创建了一个新文件。同样,我不知道这是一个重命名。

到目前为止,我发现的唯一解决方案(我不太喜欢)是向我跟踪的每个文件添加一个包含 uniqueID 的扩展属性。在收集阶段,我可以检查 url 和 uniqueID(如果有)来确定收集了哪个文件。

这个解决方案非常脆弱,我想知道是否有人想出了更好的方法。