是否可以从其Share Extension访问应用程序的RealmSwift DB?

时间:2019-01-16 05:46:45

标签: swift realm

我正在尝试开发在Realm中保存“ Bus”对象的应用程序,每个总线都有其名称,plateNm等。我现在正在使用RealmSwift。

我的问题是:

  

是否可以通过共享扩展名访问应用程序的数据?

我希望用户可以交换其总线对象。我发现可以将领域数据更改为json并将json更改为领域。

但是,如何访问应用程序数据库?

我认为可以将Realm数据导入和导出为json。收到json文件后如何更新数据库?

我进行了搜索,看到了一些建议,这些建议是在App组之间使用共享容器。

您能告诉我如何将领域数据保存在共享容器中吗?还是有其他方法可以访问Share Extension中的数据库?

1 个答案:

答案 0 :(得分:0)

您应该做的是将领域数据库访问代码放在可以从扩展名访问的共享框架中,不要忘记像这样声明您的容器

let container = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.com.a.b")

但是您应该从扩展名同步数据库,这是一个已知的错误:https://github.com/realm/realm-cocoa/issues/4490