iCloud Container 与 App Group

发布
更新
字数 126
阅读 1 分钟
阅读量 894

使用 iCloud 同步的 Core Data 会在本地创建一个数据库副本,可以存储在 App Group 中,方便本地共享,例如在宿主引用与扩展之间,或者同开发者账号下的应用之间。

class GroupedPersistentCloudKitContainer: NSPersistentCloudKitContainer {

    static var groupIdentifier: String?
    
    public override class func defaultDirectoryURL() -> URL {
        guard let identifier = groupIdentifier, let url = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: identifier) else { return super.defaultDirectoryURL() }
        
        if !FileManager.default.fileExists(atPath: url.path) {
            try? FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
        }
        
        return url
    }
}

了解关于 CloudKit 的更多内容