升级至macOS 13(Ventura)后Flutter macOS版本启动报错error 2
macOS 13 Ventura下Flutter应用引擎初始化失败(error 2)解决指南
升级到macOS 13(Ventura)后,运行Flutter开发的macOS应用时出现错误提示:Failed to initialize Flutter engine: error 2,完整构建日志(已翻译为中文)如下:
生成2条警告。 2022-11-08 11:52:15.742 ibtoold[36004:455401] NSFileCoordinator未执行任何操作。 /* com.apple.actool.document.warnings */ /Users/pascalgehring/Developer/deescus-app/macos/Runner/Assets.xcassets:./AppIcon.appiconset/(null)[2d][app_icon_1024.png]: 警告:应用图标集"AppIcon"存在7个未分配的子项。 /Users/pascalgehring/Developer/deescus-app/macos/Runner/Assets.xcassets:./AppIcon.appiconset/(null)[2d][app_icon_1024.png]: 警告:应用图标集"AppIcon"存在7个未分配的子项。 /* com.apple.actool.compilation-results */ /Users/pascalgehring/Developer/deescus-app/build/macos/Build/Intermediates.noindex/Runner.build/Debug/Runner.build/assetcatalog_generated_info.plist /Users/pascalgehring/Developer/deescus-app/build/macos/Build/Products/Debug/deescus.app/Contents/Resources/AppIcon.icns /Users/pascalgehring/Developer/deescus-app/build/macos/Build/Products/Debug/deescus.app/Contents/Resources/Assets.car 警告:由于未指定输出,运行脚本构建阶段'Run Script'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Runner'的目标'Runner') 警告:由于未指定输出,运行脚本构建阶段'Create Symlinks to Header Folders'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Pods'的目标'gRPC-Core') 警告:由于未指定输出,运行脚本构建阶段'Create Symlinks to Header Folders'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Pods'的目标'gRPC-C++') 警告:由于未指定输出,运行脚本构建阶段'Create Symlinks to Header Folders'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Pods'的目标'abseil') 警告:由于未指定输出,运行脚本构建阶段'Create Symlinks to Header Folders'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Pods'的目标'Libuv-gRPC') 警告:由于未指定输出,运行脚本构建阶段'Create Symlinks to Header Folders'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Pods'的目标'BoringSSL-GRPC') /Users/pascalgehring/Developer/deescus-app/macos/Runner.xcodeproj: 警告:macOS部署目标'MACOSX_DEPLOYMENT_TARGET'设置为10.12,但支持的版本范围为10.13至13.0.99。(来自项目'Runner'的目标'Flutter Assemble') 警告:由于未指定输出,运行脚本构建阶段'Run Script'将在每次构建时执行。解决此警告可添加输出依赖,或取消勾选"基于依赖分析"。(来自项目'Runner'的目标'Flutter Assemble')
解决步骤
更新macOS部署目标版本
日志明确指出部署目标10.12不在Ventura支持范围内。打开Xcode,进入Runner目标的Build Settings,找到MACOSX_DEPLOYMENT_TARGET,将其修改为10.13或更高版本(推荐直接设为13.0适配Ventura)。清理缓存并重建项目
依次执行以下命令:flutter clean:清理Flutter项目缓存flutter pub get:重新获取依赖包flutter build macos:重新构建macOS应用
修复脚本构建阶段的输出依赖
针对日志中重复出现的脚本执行警告,进入Xcode项目的构建阶段设置:- 找到对应脚本阶段,取消勾选"基于依赖分析"选项;
- 或者添加该脚本生成的输出文件路径,让Xcode能通过依赖分析判断是否需要执行脚本。
完善应用图标集
打开Assets.xcassets中的AppIcon图标集,补充缺失的图标尺寸,或移除未分配的子项,消除图标相关警告。升级Flutter到最新稳定版
执行flutter upgrade更新Flutter框架,确保版本与macOS Ventura兼容。
内容的提问来源于stack exchange,提问作者Pascal Gehring
相关产品推荐
相关产品推荐

