RAD Studio开发iOS应用:重装后启动屏/图标颜色旧数据残留求助
可行解决方案
彻底删除应用容器数据
把设备连接到Mac,打开Xcode的Window > Devices and Simulators,找到目标设备和对应应用,点击底部的Delete Container。这会完全清除该应用的所有残留数据,包括系统缓存的启动屏、切换器图标等资源。命令行卸载清理
先通过Homebrew安装ideviceinstaller(执行brew install ideviceinstaller),然后运行以下命令彻底卸载应用并清理残留:ideviceinstaller -U <你的应用Bundle ID> ideviceinstaller --remove-app <你的应用Bundle ID>执行完成后重启设备,再重新编译安装应用。
重命名资源文件
不要直接修改原有启动屏/图标资源的内容,而是重命名资源文件(比如将LaunchScreenBackgroundColor.colorset改为LaunchScreenBackgroundColor_v2.colorset),然后在RAD Studio项目设置中重新关联新的资源文件。iOS会将新文件名的资源判定为全新资源,不会调用旧缓存。模拟器重置(仅适用于测试)
如果是在iOS模拟器上遇到该问题,直接选择模拟器菜单的Hardware > Reset Content and Settings,清空所有缓存和数据后重新安装应用即可。
问题根源
iOS会为每个Bundle ID缓存启动屏、应用切换器图标等资源,这类缓存不会随常规应用卸载被清除——系统默认同一Bundle ID的应用资源不会频繁变更,因此保留缓存以提升启动效率。只有当Bundle ID变更,或彻底清除对应应用的容器数据时,才会重新加载新资源。
内容的提问来源于stack exchange,提问作者Marvin Zakrzewski

