我想知道是否可以使用iCloud在设备之间同步应用程序的首选项文件。我正在谈论的偏好文件是由Nsuserdafults创建的com.domain.appname.plist文件来存储应用程序的首选项。

我想可以选择将我的应用程序的首选项文件保持在两个不同设备(例如iPad和iPhone)之间的同步。这是iCloud同步的可接受使用吗?还是我需要将PLIST文件转换为其他类型的文档,将其存储在云上,然后在检索它后将其转换回应用程序的首选项文件?

谢谢!

有帮助吗?

解决方案

有一个库可以使用一行代码来执行此操作

https://github.com/mugunthkumar/mkicloudsync

其他提示

如同 mkicloudsync, ,我在Github上也有一个库 sdclouddefaults. 。您没有自动同步,而是您使用的新对象而不是 NSUserDefaults 这可以保存到iCloud和 NSUserDefaults. 。这意味着您可以确定哪些元素在本地存储,哪些元素存储在云中。

(在实施它之后,我找到了mkicloudsync。我认为这很聪明,但我不想将所有内容同步到iCloud,以便我的解决方案对我来说仍然更好。)

可以使用iCloud在设备之间同步偏好。但是,我建议不要在设备之间共享PLIST文件。

nsubiquitouskeyvaluestore 应该适合您尝试做的事情。它与NsuserDefaults非常相似,因此应该很容易拿起。

要使用它,只需启用com.apple.developer.ubiquity-kvstore-sidentifier在您的权利文件中的权利,然后仅复制您喜欢在无处不在的键值存储中同步的首选项即可。一旦它在无处不在的kvstore中,您就可以从其他设备上的应用程序看到它。只要使用相同的标识符,您甚至可以在不同应用程序之间同步。

您还应该注册NsubipiquitousKeyvaluestRedIdIdIdChangeExternallyNotification通知,以关注新更改并相应地更新设备上的StandarduserDefaults。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top