Flutter macOS项目调试时因@NSApplicationMain废弃无法构建求助
Flutter macOS项目构建失败:@NSApplicationMain废弃更新后报错
问题详情
在macOS上以debug模式启动lib/main.dart时,系统提示macos/Runner/AppDelegate.swift中的@NSApplicationMain属性已废弃并自动完成更新,但更新后项目彻底无法构建。
错误截图

当前Flutter版本

解决步骤
- 恢复AppDelegate.swift原始结构
自动更新大概率破坏了文件的标准结构,直接替换为Flutter默认模板代码:
import Cocoa import FlutterMacOS @NSApplicationMain class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true } }
- 清理并重建依赖
依次执行以下命令:
flutter clean flutter pub get cd macos && pod install
- 手动适配废弃注解(可选)
如果恢复后仍收到废弃警告,按官方规范修改:
- 删除
AppDelegate.swift中的@NSApplicationMain - 在
macos/Runner目录新建main.swift,写入:
import Cocoa let appDelegateClassName = NSStringFromClass(AppDelegate.self) NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv, nil, appDelegateClassName)
- 检查环境兼容性
运行flutter doctor排查所有环境依赖问题,修复提示的缺失组件或配置错误。
内容的提问来源于stack exchange,提问作者usoysal
相关产品推荐
相关产品推荐

