ios - 如何从 iOS Extension 访问 Flutter 项目的 ObjectBox 数据库?
问题描述
我有一个建立在 ObjectBox 数据库之上的 Flutter 应用程序。
该应用程序已经在 App Store 和 Play Store 上。
现在我正在尝试使用 XCode 向 iOS 平台添加共享扩展。
我需要从 Share Extension 访问 ObjectBox 数据库,但我找不到有关此用例的文档。
到目前为止,我尝试了以下步骤。
如果 Platform.isIOS 将 objectbox 目录从 DocumentsDirectory 移动到 AppGroupDirectory(objectbox 目录有两个文件 - data.mdb 和 lock.mdb)
修改 Podfile 以安装 ObjectBox for Share Extension,如下所示。
target 'ShareExtension' do use_frameworks! use_modular_headers! pod 'ObjectBox' end
在 ShareExtension 中定义实体与我在 Flutter 项目中定义的完全相同,以告诉 ObjectBox 我将使用哪些实体。
class Folder: Entity { var id: Id = 0 ...more properties var rootFolder: ToOne<Folder> = nill // objectbox: backlink = "rootFolder" var subfolders: ToMany<Folder> = nill }
我成功地完成了第 1 步和第 2 步,但我被困在第 3 步。我有这个错误。
类型“文件夹”不符合协议“EntityInspectable”
我想这与 model-Runner.json 有关。ObjectBox 库应该为所有目标生成实体相关文件,但似乎没有。
下面是我执行 Pods/ObjectBox/setup.rb 时的结果
我已经看到了这个问题,但它似乎是一个不同的情况。
请有人引导我走向正确的方向。