使用iCloud的核心数据永远不会从"使用本地存储:1"切换

Mic*_*all 6 macos core-data ios icloud

我已经使用Core Data设置了iCloud,但似乎从未切换到使用本地存储中无处不在的存储.看看Xcode中的iCloud面板,我可以看到iCloud状态是空闲的,我甚至可以看到在我无处不在的容器(NSPersistentStoreUbiquitousContentNameKey)里面创建了目录,但是图上没有任何活动(上传或下载).

我只在控制台中获得以下内容:

-[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:](760): CoreData: Ubiquity:  me~3C82877D-69EE-5968-A69C-37FD71227462:MyApp
Using local storage: 1
Run Code Online (Sandbox Code Playgroud)

我期待它最终不会使用本地存储,但这种情况从未发生过.

将ubiquity日志级别设置为3,我可以在我的控制台中看到以下日志:

__60-[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:]_block_invoke(1289): CoreData: Ubiquity:  Coordinated read finished for ubiquity root url: file:///Users/me/Library/Mobile%20Documents/VK94X636H2~com~company~MyApp/
-[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:](1081): CoreData: Ubiquity:  Post store setup succeded. <NSSQLCore: 0x10040bc90> (URL: file:///Users/me/Library/Containers/com.company.MyApp/Data/Library/Application%20Support/CoreDataUbiquitySupport/me~3C82877D-69EE-5968-A69C-37FD71227462/MyApp/33D95E86-2331-4ED6-9ECF-FC88E130A38F/store/MyApp.storedata)
-[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:](1298): CoreData: Ubiquity:  Read finished: 1
-[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:](1301): CoreData: Ubiquity:  Read finished: 1 / 1 / file:///Users/me/Library/Mobile%20Documents/VK94X636H2~com~company~MyApp/CoreData/MyApp/
-[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:](1305): CoreData: Ubiquity:  Blocking for initial sync: <PFUbiquitySetupAssistant: 0x10021edc0>
Run Code Online (Sandbox Code Playgroud)

所以它似乎停留在了Blocking for initial sync,但我不知道为什么.

有谁知道什么可能是错的?

Mic*_*all 6

好吧,原来只是重新启动我的Mac修复了这个问题.

有点关于iCloud的声誉,但至少它有效!看来,即使在iOS 7和OS X 10.9中对iCloud进行了改进之后,仍然存在一些奇怪的问题.

  • 这也可以通过在命令行运行`ubcontrol --reset`来清除,它会重置ubiquity守护进程.在执行此操作后,您可能需要重新启动受影响的应用程序,我不确定. (2认同)