gpt4 book ai didi

ios - iCloud + 核心数据 : First import and user's feeling of loss of data

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:19 25 4
gpt4 key购买 nike

我已经实现了一个拥有大约 5 万用户的 iPhone 应用程序。从 iOS7 切换到 iOS8 时,很多用户都曾体验过一种可怕的感觉,他们认为自己的数据丢失了。

我已经实现了我认为是 Apple 建议的首次导入行为

1) 用户启动应用

2) iCloud,自动,开始同步之前存储在 iCloud 上的数据

3) 在某些时候用户会收到通知,iCloud 数据已准备就绪,这要归功于 NSPersistentStoreUbiquitousTransitionTypeInitialImportCompleted

问题出在3) At some point:
必须同步大量数据的用户需要几分钟才能完成同步,同时他们认为自己的数据丢失了。

我真的不知道如何让我的用户知道他们必须等待才能看到他们的数据同步,因为我不知道此操作何时开始


我正在考虑一个可能的解决方案:

在应用程序首次启动时,询问用户是否要使用 iCloud。如果他选择使用它,使用 iCloud 选项构建数据库,那么我确切地知道同步从这里开始(我想......)我真的不确定如何实现此行为,因为我一直在 AppDelegate 中看到 Core Data 设置,但要实现此行为,我想我需要移动 Controller 中的所有 CoreData 设置。

您如何看待这个解决方案?你是如何在你的应用程序中解决这个问题的?

最佳答案

你的想法是对的,至少我们是这样做的。但将其留在 appDelegate 中。

在执行“addPersistentStoreWithType”时区分使用 iCloud 和不使用 iCloud。如果您使用 iCloud 选项执行此操作,它将直接开始构建本地商店,这是一种占位符(我相信您知道这一点,但只是为了阐明我的想法)。一旦完成,同步就会从 iCloud 开始。所以这就是我了解到您正在寻找的起点。

您可以使用 NSPersistentStoreCoordinatorStoresDidChangeNotification 的通知来观察该过程,并根据该通知触发相应地通知您的用户。

如果您查看文档中的“对 iCloud 事件使用react”https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/UsingCoreDataWithiCloudPG/UsingSQLiteStoragewithiCloud/UsingSQLiteStoragewithiCloud.html#//apple_ref/doc/uid/TP40013491-CH3-SW5有详细的描述。

关于ios - iCloud + 核心数据 : First import and user's feeling of loss of data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26815497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com