先说清楚:签名不改界面
签名动作写在包里的是身份凭证和权限清单,不会去动你的颜色、字体和布局。所以「签完之后深色模式变丑了」,本质是这个包本来就没做深色适配,只是之前没人在这个模式下认真看过。签名分发把 App 送到了更多真实用户手里,问题才集中暴露出来。
为什么浅色下好好的,深色下就糊了
系统提供了两套外观:浅色(Light,白底黑字)和深色(Dark,黑底白字)。切换时,系统会自动处理一部分标准控件的颜色,但下面这几类东西它管不了,必须由 App 自己准备:
- 写死的颜色。代码里直接写成某个固定色值的文字和背景,切换外观时不会跟着变。白底上的深灰字,到了黑底上就成了黑底深灰,几乎看不清。
- 图片素材。带白色底的图片在深色背景上会露出一块突兀的白方块,品牌标识和引导图最容易中招。
- 自定义控件。自己画的按钮、标签、分割线,如果没有为深色准备对应的颜色,会直接消失在背景里。
- 网页内容。App 里嵌的网页如果没做深色适配,会保持白底,在深色界面里出现一大块刺眼的白色区域。
签名环节会牵连到的地方
虽然签名不改界面,但有两处容易间接出问题:
- 重签时如果资源文件被过滤或替换,深色专用的那套图片素材可能没被打进去,结果就是深色下图片全部缺失,只留下一片空白或默认占位色。
- 有些重签流程会改写包里的配置文件,如果外观相关的配置项被重置成默认值,App 可能被强制固定在某一种外观上,用户怎么切换系统都没反应。
判断方法很简单:拿签好的包和原始包分别在深色模式下截图对比。如果原始包正常、签好的包异常,问题在重签过程,可以直接找签名商核对;如果两个都异常,那是 App 本身没适配,得回去改代码。
自查清单
发布前用一台真机,把系统外观切到深色,走一遍主要页面,重点看这几处:
- 所有文字和背景的对比度,尤其是灰色的次要说明文字。
- 启动图、引导图、空状态插画这类大图。
- 状态栏、底部导航栏、弹窗和分割线。
- 输入框、键盘弹出时的配色。
- App 内嵌的任何网页。
跟研发提需求时怎么说
别说「深色模式不好看」,这种反馈没法落地。具体到页面和元素:某个页面的某段说明文字在深色下几乎看不见,某个图标在深色下和背景融合了。带上截图,标注机型和系统版本,研发改起来效率会高很多。
一句补充
现在用户对深色模式的期待已经是基础项了。一个在深色下明显有问题的 App,会被直接理解为「这个产品质量不行」,而这种印象很难靠后续功能挽回。与其事后补救,不如在送签之前就把这一轮适配过一遍。
我是本期作者小思,想解决苹果企业签名、超级签名、TF签名问题?可以在微信公众号对话框找到我哦~(QQ:822404920 微信:A-mk5888)
Copyright ©2020—2026 All Rights Reserved.