.NET 7 MAUI iOS应用启动屏全黑问题求助
.NET 7 MAUI iOS/iPadOS 启动屏黑屏问题排查与解决
我开发的.NET 7 MAUI iOS/iPadOS应用启动时完全黑屏,无任何内容显示。使用的loading_screen.svg仅包含蓝白元素,不存在黑色内容,该问题在本地真机、模拟器及Release版IPA部署场景下均会出现。
已完成的配置:
- 将
loading_screen.svg放置在/Resources/Splash目录,Build Action设置为MauiSplashScreen; - 文件大小214 KB,分辨率1920 x 1080;
- 项目文件中配置了MauiSplashScreen标签:
<ItemGroup> <MauiSplashScreen Include="Resources\Splash\loading_screen.svg" /> </ItemGroup>
- iOS平台Info.plist中设置了
UILaunchStoryboardName:
<key>UILaunchStoryboardName</key> <string>MauiSplash</string>
- iOS平台Info.plist中设置了
UILaunchImageFile(曾尝试将扩展名改为.png):
<key>UILaunchImageFile</key> <string>Resources\Splash\loading_screen.svg</string>
排查与修复步骤
1. 移除冲突的旧版启动图配置
MAUI在iOS平台依赖启动故事板(Launch Storyboard)处理启动屏,UILaunchImageFile是旧版iOS的启动图配置方式,会和MAUI的MauiSplashScreen自动生成逻辑冲突。直接删除Info.plist中的以下内容:
<key>UILaunchImageFile</key> <string>Resources\Splash\loading_screen.svg</string>
2. 验证SVG文件兼容性
MAUI对SVG的支持存在部分限制,复杂元素(如滤镜、多层渐变、不规则路径)可能无法正确渲染为启动屏。可尝试:
- 简化SVG内容,移除不必要的特效或冗余元素;
- 将SVG转换为1920x1080分辨率的PNG格式,替换原文件后,更新项目配置:
<ItemGroup> <MauiSplashScreen Include="Resources\Splash\loading_screen.png" /> </ItemGroup>
3. 清理并重新生成项目
MAUI会自动基于MauiSplashScreen配置生成MauiSplash.storyboard文件,残留的编译缓存可能导致异常:
- 右键项目选择「清理」;
- 手动删除项目根目录下的
bin和obj文件夹; - 重新生成解决方案后再次部署测试。
4. 确认启动故事板的自动生成状态
确保Info.plist中UILaunchStoryboardName的值为MauiSplash,且iOS项目的Resources目录下存在自动生成的MauiSplash.storyboard文件。若文件缺失,可尝试卸载并重新安装MAUI相关NuGet包。
5. 测试默认启动屏
为排除文件本身问题,先替换为MAUI模板自带的启动屏资源进行测试:
- 用模板默认的启动屏SVG替换
loading_screen.svg; - 重新部署应用,若启动屏正常显示,则说明原SVG文件存在兼容性问题。
内容的提问来源于stack exchange,提问作者Zach Hartt
相关产品推荐
相关产品推荐

