如何使 objectbox-dart 也能在 MacOS 上运行
flutter : ** 构建失败 ** #0 throwToolExit (包:flutter_tools/src/base/common.dart:10:3) #1 RunCommand.runCommand (包:flutter_tools/src/commands/run.dart:550:9) #2 FlutterCommand.verifyThenRunCommand (包:flutter_tools/src/runner/flutter_command.dart:1157:12) #3 FlutterCommand.run。 (包:flutter_tools/src/runner/flutter_command.dart:1009:27) #4 AppContext.运行。 (包:flutter_tools/src/base/context.dart:150:19) #5 AppContext.run(包:flutter_tools/src/base/context.dart:149:12) #6 CommandRunner.runCommand (包:args/command_runner.dart:197:13) #7 FlutterCommandRunner.runCommand。 (包:flutter_tools/src/runner/flutter_command_runner.dart:278:9) #8 AppContext.运行。 (包:flutter_tools/src/base/context.dart:150:19) #9 AppContext.run(包:flutter_tools/src/base/context.dart:149:12) #10 FlutterCommandRunner.runCommand(包:flutter_tools/src/runner/flutter_command_runner.dart:234:5) #11 运行..(包:flutter_tools/runner.dart:64:9) #12 运行。 (包:flutter_tools/runner.dart:62:12) #13 AppContext.运行。 (包:flutter_tools/src/base/context.dart:150:19) #14 AppContext.run(包:flutter_tools/src/base/context.dart:149:12) #15 runInContext (包:flutter_tools/src/context_runner.dart:73:10) #16 主要(包:flutter_tools/executable.dart:90:3) 基于 xCode 构建 错误:ld:找不到 -lobjectbox 的库
最佳答案
更新:由于这个答案最初是发布的,ObjectBox 现在支持开箱即用的 flutter-desktop。引用https://pub.dev/packages/objectbox#getting-started :
For sandboxed macOS apps: specify an application group. Check all
macos/Runner/*.entitlements
files if they contain a section with correct group ID info. Change the string value to the DEVELOPMENT_TEAM found in Xcode settings, plus an application-specific suffix, for example:<key>com.apple.security.application-groups</key> <array> <string>FGDTDLOBXDJ.demo</string> </array>
原答案:
ObjectBox Flutter 桌面支持正在进行中,有一个跟踪 GitHub 问题:https://github.com/objectbox/objectbox-dart/issues/166
目前,您必须使用 Xcode 手动添加 ObjectBox native 库 libobjectbox.dylib
:
- 从 GitHub 版本获取库:https://github.com/objectbox/objectbox-c/releases/download/v0.13.0/objectbox-macos-universal.zip
- 在 Xcode 中打开 yourapp/macos/Runner.xcworkspace。
- 将预编译库 (libyourlibrary.dylib) 拖到 Runner/Frameworks 中。
- 单击“运行程序”并转到“构建阶段”选项卡。
- 将
libobjectbox.dylib
拖到“复制捆绑资源”列表中。 - 在“ bundle 框架”下,选中“副本上的代码签名”。
- 在“链接二进制文件与库”下,将状态设置为“可选”。
- 将
- 单击“运行程序”并转到“常规”选项卡。
- 将
libobjectbox.dylib
拖到“框架”、“库”和“嵌入式内容”列表中。 - 选择“嵌入并签名”。
- 将
- 单击“运行程序”并转到“构建阶段”选项卡。
关于macos - ObjectBox Flutter MacOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67345373/