MAUI应用在Mac Rider中运行失败:UINSWindowStateController错误
解决Mac Rider中MAUI应用启动时的UINSWindowStateController断言失败问题
问题根源
迁移代码仓库后,项目的macOS/iOS场景配置文件(Info.plist)可能丢失或被重置,导致应用启动时无法正确初始化窗口场景。
解决方案
恢复Info.plist的场景配置
找到项目Platforms/MacCatalyst目录下的Info.plist,确认是否包含UIApplicationSceneManifest配置段。如果缺失,添加以下XML内容:<key>UIApplicationSceneManifest</key> <dict> <key>UIApplicationSupportsMultipleScenes</key> <false/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneConfigurationName</key> <string>Default Configuration</string> <key>UISceneDelegateClassName</key> <string>$(PRODUCT_MODULE_NAME).SceneDelegate</string> </dict> </array> </dict> </dict>确保
UISceneDelegateClassName与项目中实际的SceneDelegate类匹配,若项目中无该类,可新建一个空实现的SceneDelegate(MAUI默认项目自带该类,迁移时可能被误删)。清理重建项目
- 在Rider中执行
Build > Clean Solution - 删除项目根目录的
bin和obj文件夹 - 执行
Build > Rebuild Solution - 重启Rider后重新运行应用
- 在Rider中执行
检查Rider运行配置
- 点击运行配置下拉框,选择
Edit Configurations - 确认Target framework为正确的MacCatalyst版本,Deployment target符合当前Mac系统版本要求
- 取消所有非默认的自定义配置选项,恢复默认运行设置
- 点击运行配置下拉框,选择
重置应用缓存
- 打开Mac活动监视器,终止所有与该MAUI应用相关的进程
- 删除
~/Library/Containers/[应用Bundle ID]/目录下的所有内容(Bundle ID可在Info.plist的CFBundleIdentifier字段中查看)
内容的提问来源于stack exchange,提问作者Noodles
相关产品推荐
相关产品推荐

