Ios 通过具有应用程序扩展的组共享领域数据库

Ios 通过具有应用程序扩展的组共享领域数据库,ios,swift,realm,Ios,Swift,Realm,我有一个今天扩展的应用程序。在主应用程序的appDelegate.swift中: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityA

我有一个今天扩展的应用程序。在主应用程序的appDelegate.swift中:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.Hobo.RealmDatabase")!
    var config = Realm.Configuration()
    config.fileURL = directory.filePathURL?.URLByAppendingPathComponent("db.realm")
    Realm.Configuration.defaultConfiguration = config
    return true
}
在我的todayExtension的viewDidload中:

 override func viewDidLoad() {
    super.viewDidLoad()
    let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.Hobo.RealmDatabase")!
    var config = Realm.Configuration()
    config.fileURL = directory.filePathURL?.URLByAppendingPathComponent("db.realm")
    Realm.Configuration.defaultConfiguration = config

    let realm = try! Realm()
}
当我在我的主应用程序中创建一个对象时,它会一直保存在数据库中。但是,当我尝试从todayExtensionViewController读取对象数时,它返回0,表示未创建任何对象

我很困惑,因为这两个应用程序从同一个位置获取相同的领域数据,它不应该“共享”数据吗

我正在使用组在应用程序之间共享数据


提前谢谢

这是一个明显的问题,但是您是否验证了两段代码都在计算相同的路径?您是否在方案中设置了appGroups?这篇文章可能会帮助你:@bdash是的,我已经验证过了,它们都通向同一条路。@b谢谢你的帮助!但是,是的,我已将其设置为我的方案。在扩展中调用
viewDidLoad
方法之前,您是否确保不访问该领域?