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

集成macos_ui包后编译报错:NSToolbar/BlockingToolbar无allowsDisplayModeCustomization成员

集成macos_ui包后编译报错:NSToolbar/BlockingToolbar无allowsDisplayModeCustomization成员

遇到这个问题我太懂了!之前用macos_ui的时候也踩过这个坑,给你梳理一下原因和解决办法:

问题原因

这个报错的核心是API版本不兼容:allowsDisplayModeCustomization是macOS 14.0(Sonoma)才新增的NSToolbar属性,但你的项目设置的最低部署目标是10.14.6,而且你的系统是Ventura 13.7.5(本身不支持这个API)。而你用到的macos_window_utils 1.7.1版本(macos_ui依赖的包)里直接调用了这个高版本API,导致编译时找不到该成员。

解决方案

这里给你两个可行的解决方向:

1. 降级macos_window_utils到兼容低版本系统的版本

通过依赖覆盖,强制让macos_ui使用不包含该高版本API的macos_window_utils版本。具体步骤:

  • 打开项目根目录的pubspec.yaml,在文件末尾添加:
    dependency_overrides:
      macos_window_utils: ^1.6.0
    
  • 执行命令更新依赖:
    flutter pub get
    
  • 然后重新执行编译:flutter run -d macos,一般就能解决这个报错了。

2. 升级系统和项目部署目标(不推荐给不想升级系统的同学)

如果愿意升级你的macOS系统到Sonoma(14.0及以上),同时修改项目的最低部署目标:

  • 升级你的macOS到14.0+
  • 打开项目的macos/Podfile,把部署目标改成platform :osx, '14.0'
  • 执行flutter clean,然后cd macos && pod install,再重新编译项目

关于那个Run Script警告

顺便说一下你看到的Run Script警告,这个不影响编译成功,只是Xcode的提示:

  • 打开Xcode的Runner项目,找到"Build Phases"里的"Run Script"阶段
  • 要么添加输出文件路径(比如随便填一个临时路径),要么取消勾选"Based on dependency analysis"选项,就能消除这个警告了。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 14:45:26