iOS核心数据+ iCloud错误,用于addPersistentStoreWithType:您无权将文件“store”保存在文件夹

时间:2016-02-28 19:06:33

标签: ios swift core-data core-data-migration ubiquity

我已经从头开始创建了一个Core Data项目,我做的唯一更改是持久协调器添加商店,我提供了NSPersistentStoreUbiquitousContentNameKey选项:

coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: [NSPersistentStoreUbiquitousContentNameKey : "coreDataiCloudTestStore"])

我在启动时插入并保存新的托管对象。

在发布时,没有登录的iCloud帐户,没有问题。当应用程序运行时,我正在登录iCloud并返回应用程序。我收到此错误:您无权将文件“store”保存在文件夹中,不允许操作:

  

CoreData:错误:-addPersistentStoreWithType:SQLite   配置:PF_DEFAULT_CONFIGURATION_NAME   网址:文件:///var/mobile/Containers/Data/Application/9032B2BC-BE8B-42C9-A9CC-EF3E01AA6F2B/Documents/SingleViewCoreData.sqlite   选项:{       NSPersistentStoreUbiquitousContentNameKey = coreDataiCloudTestStore;       PFUbiquitySetupSynchronousSideLoadKey = 1; }

     

...返回错误错误域= NSCocoaErrorDomain代码= 513"您无权将文件“store”保存在文件夹中   “380E290C-97F9-4DC3-9B3C-43322FCA455D”&#34。   的UserInfo = {NSFilePath =的/ var /移动/容器/数据/应用/ 9032B2BC-BE8B-42C9-A9CC-EF3E01AA6F2B /文档/ CoreDataUbiquitySupport /移动〜C5A2ECE3-1AB9-45FA-9C15-037DCCA054DE / coreDataiCloudTestStore / 380E290C-97F9-4DC3- 9B3C-43322FCA455D /存储,   NSUnderlyingError = 0x1453f430 {错误域= NSPOSIXErrorDomain代码= 1   "不允许操作"}} with userInfo dictionary {       NSFilePath =" / var / mobile / Containers / Data / Application / 9032B2BC-BE8B-42C9-A9CC-EF3E01AA6F2B / Documents / CoreDataUbiquitySupport / mobile~C5A2ECE3-1AB9-45FA-9C15-037DCCA054DE / coreDataiCloudTestStore / 380E290C-97F9-4DC3 -9B3C-43322FCA455D /存储&#34 ;;       NSUnderlyingError ="错误域= NSPOSIXErrorDomain代码= 1 \"操作不被允许\"&#34 ;; }

     

PFUbiquitySwitchboardEntry containerIdentifierChanged ::   CoreData:Ubiquity:之后加载新临时协调器时出错   帐户随期权变更 {{       NSPersistentStoreUbiquitousContentNameKey = coreDataiCloudTestStore;和URL   文件:///var/mobile/Containers/Data/Application/9032B2BC-BE8B-42C9-A9CC-EF3E01AA6F2B/Documents/SingleViewCoreData.sqlite   和错误=错误域= NSCocoaErrorDomain代码= 513" 你没有   允许将文件“store”保存在文件夹中   “380E290C-97F9-4DC3-9B3C-43322FCA455D”&#34。   的UserInfo = {NSFilePath =的/ var /移动/容器/数据/应用/ 9032B2BC-BE8B-42C9-A9CC-EF3E01AA6F2B /文档/ CoreDataUbiquitySupport /移动〜C5A2ECE3-1AB9-45FA-9C15-037DCCA054DE / coreDataiCloudTestStore / 380E290C-97F9-4DC3- 9B3C-43322FCA455D /存储,   NSUnderlyingError = 0x1453f430 {错误域= NSPOSIXErrorDomain代码= 1   "不允许操作"}}

为什么会这样?

1 个答案:

答案 0 :(得分:2)

从iCloud重建

  

要删除本地数据并使用iCloud中的现有记录重新开始,请在将持有iCloud的持久存储添加到持久性存储协调器时,将值为@YES的NSPersistentStoreRebuildFromUbiquitousContentOption选项传递给它。包括您通常包含的任何iCloud选项。