所有设备的共享价值?

时间:2015-07-21 04:01:12

标签: swift core-data ios8 plist icloud

我有一个应用程序,我希望在某些网络后端修改配置。

我最初的想法是将默认值存储在plist文件中,然后通过JSON从远程服务器请求更新的值。我不喜欢这样,因为它是异步的,所以网络管理员的更新不会是即时的,只要用户杀死应用并重新打开它(很早就需要一些配置,例如更改全局色调) 。

我的另一个想法是,所有移动设备都在iCloud中使用共享文件。是否可以让所有下载我的应用的用户在云中同步访问同一个文件?或者Core Data是否有一个共享区域供所有设备读取?

关于如何处理我想要完成的事情的任何想法或经验?感谢您的任何建议或见解。

2 个答案:

答案 0 :(得分:0)

如果您要与应用的所有用户共享数据,则可以使用CloudKit中的公共数据库。它是异步的,但您可以订阅您的用户,以便在可用时接收更改。

答案 1 :(得分:0)

最简单的解决方案就是你所说的。您下载的服务器上的配置文件。

您可以在启动应用时简单地下载该文件,但只会在下次启动应用时应用更改。

当您加载资源时,您的其他选项是等待屏幕,或允许应用在获取更新文件时重新配置。

如果您的配置文件包含您想要立即应用的更改,则加载屏幕至关重要,例如隐私政策网址,或类似的东西。

下载时重新配置很复杂,如果您要更改主题等内容,则会提供糟糕的用户体验。

有一个最终选项。当存在新版本的文件时,您可以使用推送通知(静默通知)。然后,您可以在后台下载它。