You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI macOS应用无法与iCloud同步问题求助

macOS 应用 NSPersistentCloudKitContainer 无法同步 iCloud 数据求助

我的iOS和iPadOS应用已上架App Store,采用iCloud同步数据,生产环境数据库运行完全正常。

同时开发的macOS应用使用NSPersistentCloudKitContainer,已正确设置合并策略,应用配置文件、证书、权限均无问题,且已通过Apple签名,但无法与iCloud同步,原因不明。

已做排查操作:

  • 确认Mac的iCloud设置中该应用同步已开启
  • 尝试退出并重新登录iCloud
  • 重建应用
  • 发现删除项目时应用反应延迟,疑似尝试连接,但通过TCPDump工具未检测到应用发起的连接请求

附上相关配置截图说明:

  • Mac上的iCloud设置:显示该应用iCloud同步已开启
  • 开发者网站中的配置文件:已配置对应iCloud容器
  • 应用项目设置:容器/数据库配置与iOS应用完全一致

以下是persistance.swift中的代码:

import CoreData

struct PersistenceController {
    static let shared = PersistenceController()

    static var preview: PersistenceController = {
        let result = PersistenceController(inMemory: true)
        let viewContext = result.container.viewContext
        for _ in 0..<10 {
            let newBolt = Jot(context: viewContext)
            newBolt.id = UUID()
            newBolt.text = "random"
        }
        do {
            try viewContext.save()
        } catch {
            let nsError = error as NSError
            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
        }
        return result
    }()

    let container: NSPersistentCloudKitContainer

    init(inMemory: Bool = false) {
        container = NSPersistentCloudKitContainer(name: "Simple_Bolt")
        
        let description = container.persistentStoreDescriptions.first
        description?.setOption(true as NSNumber, forKey: NSPersistentHistoryTrackingKey)
        description?.setOption(true as NSNumber, forKey: NSPersistentStoreRemoteChangeNotificationPostOptionKey)

        
        if inMemory {
            container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
        }
        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                fatalError("Unresolved error \(error), \(error.userInfo)")
            }
        })
        container.viewContext.mergePolicy = NSMergeByPropertyStoreTrumpMergePolicy
        container.viewContext.automaticallyMergesChangesFromParent = true
    }
}

请问是否有人遇到过类似问题?能否提供解决方案?

感谢!


内容的提问来源于stack exchange,提问作者Aleph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:20:35