iOS端.NET MAUI应用更换启动页失败,是否存在已知Bug?
.NET MAUI iPhone启动页替换失败的排查与解决
核心排查步骤
确认.csproj配置正确性
检查项目文件中MauiSplashScreen节点的配置,路径、文件名不能有拼写错误,示例配置:<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#YourBackgroundColor" />务必保证
Include指向的文件路径和实际位置完全匹配,Color属性可直接设置启动页背景,避免默认紫色残留。验证启动页文件兼容性
.NET MAUI对SVG的支持有限,复杂滤镜、渐变或非标准元素可能导致解析失败。可先将SVG转为PNG格式,设置其BuildAction为MauiSplashScreen后测试,确认是否能正常显示自定义启动页。排查iOS特定配置冲突
检查项目文件中是否存在手动指定iOS LaunchScreen的配置,比如:<MauiLaunchScreen Include="Platforms\iOS\LaunchScreen.storyboard" />若有该配置需移除——MAUI的启动页配置会被原生iOS的LaunchScreen覆盖,导致自定义启动页失效。
彻底清理缓存
除了删除设备上的旧应用,还需执行:- 清理解决方案,删除项目的
bin和obj文件夹 - 重启Visual Studio和Xcode
- 对于iOS模拟器,通过Xcode的“Window > Devices and Simulators”删除对应模拟器的应用缓存
- 清理解决方案,删除项目的
已知相关Bug
目前官方记录的iOS启动页相关问题包括:
- 部分特殊命名或含特殊字符的SVG文件,打包时无法正确生成iOS所需的启动资源
- Visual Studio调试模式下的资源缓存问题,即使清理解决方案仍会加载旧启动页资源
- 启用
UseInterpreter调试选项时,可能导致启动页资源不更新
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

