You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 15如何设置User-Selectable App Icons(用户可选应用图标)

iOS 15 应用备选图标设置方案

iOS 15 并未废弃用户可选应用图标功能,无法更换大多是配置校验变严、API调用时机错误导致的,可按以下步骤排查和设置:

1 确认Info.plist配置正确

iOS 15 对CFBundleIcons相关配置的校验远严于旧版本,必须严格符合以下规则:

  • 所有备选图标在CFBundleIcons -> CFBundleAlternateIcons下的条目必须完整,每个图标对应字典中必须包含CFBundleIconFiles数组,数组中填写所有尺寸的图标文件名/Asset Catalog中的图标集名,不要加.png后缀,大小写完全匹配
  • 如果是将图标文件直接放在项目根目录,要确认所有图标文件的「Target Membership」已勾选对应应用目标,编译后能在.app包中找到对应文件
  • 不要遗漏CFBundlePrimaryIcon条目,就算你不需要修改主图标也必须完整配置

2 正确调用更换API

iOS 15 收紧了API调用权限,必须满足以下条件:

  • 调用前必须先判断UIApplication.shared.supportsAlternateIcons是否为true,部分受MDM管理、企业签名的设备会直接禁用该功能
  • 必须在应用完全进入前台激活状态后调用,不能在application(_:didFinishLaunchingWithOptions:)中同步调用,也不能在后台状态调用
  • 更换图标如果不需要展示系统弹窗,可以在completionHandler中处理错误即可,系统原生弹窗无法自定义

3 代码示例(Swift)

guard UIApplication.shared.supportsAlternateIcons else {
    // 设备不支持备选图标
    return
}
// 传入nil则恢复为主图标
UIApplication.shared.setAlternateIconName("你的备选图标名") { error in
    if let error = error {
        print("更换图标失败: \(error.localizedDescription)")
    } else {
        print("更换图标成功")
    }
}

常见错误排查

如果调用返回LSApplicationWorkspaceErrorDomain error -100错误,100%是配置不匹配问题,逐一检查:

  • Info.plist中写的图标名和实际文件名/Asset图标集名完全一致
  • 所有尺寸的图标都已正确导入,没有遗漏2x、3x尺寸
  • 图标文件没有放在嵌套文件夹中,如果放在子目录要在CFBundleIconFiles中写上相对路径

内容的提问来源于stack exchange,提问作者reacct

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:27:01