2019-01-07

清除 iPhone 和 iPad 上 App Store 中的更新历史

在很久以前,App Store 中是没有更新历史这个功能的。在这个更新列表刚刚推出时,不少人选择越狱并使用第三方插件将更新历史隐藏,但更新历史其实仍然保存在 iPhone 里。

如果你想删除它,只需要在类似下面路径的目录中:

/private/var/containers/Data/System/RANDOM-NAME-FOLDER-随机名称文件夹/Documents/

找到并删除下面三个文件:

updates.sqlitedb
updates.sqlitedb-shm
updates.sqlitedb-wal

立刻生效,打开 App Store 会显示所有应用均已最新:

无历史更新记录的 App Store

所有 App 均为最新版本

最后可以使用 root 用户写一个 cron job 去定时清除这三个文件。

有朋友问这个 cron job 怎么实现,严格意义上说,是使用 launchctl + 脚本来完成。制作一个 plist 文件,放入 /Library/LaunchDaemons/ 并指向你的 shell 脚本,这个 plist 文件定义了执行脚本的路径、时间和频率,shell 脚本里包含实际移除这三个文件的代码。更多信息可以参考下面两篇文章:

Run a daemon (as root) on iOS
Run an App as root on iOS

另外有一个有意思的地方,iPhone 会保存一份所有曾经安装过,但是删除了的 App 列表,位于下面的文件中:

/private/var/installd/Library/MobileInstallation/UninstalledApplications.plist

根据此文件和其他的安装日志,其实可以做点有趣的统计,不过鉴于 iOS 的系统限制,意义很有限。


(End)


本文采用 知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议
This article is licensed under Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)

沪ICP备15044284号-1