`uicache` 命令在越狱时有什么作用 iphone?

What does `uicache` command do on jailbreak iphone?

每当我安装越狱应用程序但应用程序的图标没有显示时,我都会使用命令。该命令的其他一些用例是什么?命令背后的机制是什么?

SpringBoard("home screen" 应用程序)保留所有应用程序图标的缓存。从 App Store 安装或删除应用程序时,installd 会执行那些缓存以反映它们的更改和更新。当通过其他方式(例如通过 Cydia)安装应用程序时,installd 不会以任何方式参与,因此要使应用程序正确显示在主屏幕上,必须以某种方式更新缓存 "manually" .
这正是 uicache 的设计目的。 iOS 版本之间的具体实现方式有所不同,但主要是删除缓存文件、killing/reloading 处理它们的服务以及迭代已安装的应用程序以构建新缓存的组合。

您可以查看其源代码on saurik's git repo