小编use*_*342的帖子

带有核心数据的 iOS 今日扩展

我正在尝试为我的 ios 应用程序制作今天的扩展。今天的扩展将根据与核心数据一起保存的数据显示“下一个”课程。我一直在做一些研究,我知道我必须与 appGroup 共享我的persistentContainer。所以我做了 :

  • 为 ios 应用程序和今天的扩展目标启用了 appGroups。
  • 编写了一个函数来共享它:
public extension NSPersistentContainer {
    func addToAppGroup(id: String) {
        guard let fileContainer = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: id) else {
            fatalError("Shared file container could not be created.")
        }
        let storeURL = fileContainer.appendingPathComponent("\(self.name).sqlite")
        let storeDescription = NSPersistentStoreDescription(url: storeURL)
        self.persistentStoreDescriptions.append(storeDescription)
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的核心数据堆栈中:

internal class CoreDataContainer {

    static var persistentContainer: NSPersistentContainer = {
        let container = NSPersistentCloudKitContainer(name: "SchoolCompanion")
        container.addToAppGroup(id: "group.com.Ce-dricLoneux.School-Companion")
        container.loadPersistentStores(completionHandler: { (_, error) in
            if let error = error as NSError? {
                fatalError("Unresolved error …
Run Code Online (Sandbox Code Playgroud)

xcode core-data ios swift today-extension

6
推荐指数
1
解决办法
819
查看次数

标签 统计

core-data ×1

ios ×1

swift ×1

today-extension ×1

xcode ×1