.NET MAUI项目iOS端应用图标与启动屏修改无效求助
.NET MAUI iOS 图标与启动屏不更新的排查思路及解决建议
一、iOS 图标问题排查
1. 校验 Assets.xcassets 结构与内容
- 确认
Platforms/iOS/Assets.xcassets下存在dm.appiconset文件夹,且内部包含iOS要求的全尺寸图标资源(或由SVG自动生成的资产文件)。 - 打开
dm.appiconset/Contents.json,检查每个尺寸条目是否正确关联你的自定义图标,无旧appicon资源的引用残留。 - 若使用SVG格式,可临时替换为PNG图标测试,排除SVG文件损坏或解析失败的可能。
2. 清理缓存并强制重建资源
- 删除模拟器/设备上的应用:模拟器长按图标删除,或通过Xcode的「Devices and Simulators」面板移除。
- 清理项目的
bin、obj目录:右键项目选择「清理」,再手动删除这两个文件夹。 - 终端执行命令强制生成iOS资源:进入项目根目录,运行
dotnet build -t:BundleResource -f net8.0-ios(替换为你的目标框架版本,如net7.0-ios)。
3. 验证 Info.plist 配置
- 确认
XSAppIconAssets的路径Assets.xcassets/dm.appiconset完全正确,注意iOS文件系统区分大小写。 - 检查Info.plist中是否存在
CFBundleIcons或CFBundleIcons~ipad旧配置项,若有需确保其指向dm.appiconset。
二、iOS 启动屏问题排查
1. 检查 MauiSplashScreen 配置有效性
- 确认
splash.svg的路径Resources/Splash/splash.svg(建议用/替代\适配iOS路径规则)正确,文件属性的「生成操作」设置为MauiSplashScreen。 - 调整
BaseSize为符合iOS设备的比例(如iPhone用375,812、iPad用1024,1366),避免比例不符导致生成异常。 - 临时移除
Color属性,直接在SVG内设置背景色,排除颜色配置冲突。
2. 清除系统级启动屏缓存
- iOS启动屏存在系统缓存,仅删除应用无法清除。可重启模拟器/设备,或在模拟器中执行「Erase All Content and Settings」后重新安装应用。
3. 检查启动屏文件生成情况
- 查看
Platforms/iOS/Resources目录下是否生成Splash.storyboard或对应尺寸的启动屏图片。若未生成,说明MauiSplashScreen配置未被正确解析,需再次核对csproj中的路径与属性设置。
三、通用排查步骤
- 确认自定义图标、启动屏文件的「生成操作」:
dm.svg设为MauiIcon,dmfg.svg设为MauiIconForeground,splash.svg设为MauiSplashScreen,避免设为None或其他类型。 - 用Xcode打开iOS项目:进入
Platforms/iOS目录,双击.xcodeproj文件,在Xcode中查看Assets.xcassets内的图标、启动屏是否正常加载,直观排查资源问题。 - 升级.NET MAUI版本:若使用旧版本,可能存在资源生成bug,升级至最新稳定版(如.NET 8)后重试。
内容的提问来源于stack exchange,提问作者cxc
相关产品推荐
相关产品推荐

