从App Store中下载的软件,可以通过按住Option按键然后图标右上角出现❌号进行删除。但是,如果右上角没有❌号怎么办呢? macOS中的LaunchPad使用sqlite数据库进行图标信息的管理。所以要手动进行删除的话,必须找到该数据库然后通过SQL进行删除。 我的系统版本为:
我的操作步骤如下: 1. 查找存储Launchpad数据库的位置
其中cd $(sudo find /private/var/folders -name com.apple.dock.launchpad)/db
进入到存放数据库的目录
我们可以看到里面有三个数据库,Launchpad数据存放在db数据库中
2. 查看要删除的软件图标在数据库中的id
使用sqlite3 db
进入db数据库
使用.tables
查看数据库中的表
app_sources(不知道干什么用)
apps(纪录了launchpad中软件信息)
categories(默认识别文件夹名)
dbinfo(数据库信息,还包含了系统版本)
downloading_apps(app store中购买并正在下载的应用)
groups(纪录了launchpad中文件夹信息)
image_cache(纪录了launchpad中图标信息*)
items(launchpad中项目的uuid等信息)
使用.schema apps
查看app是表的结构
比如查看Xcode软件的id:select * from apps where title='Xcode';
我们可以看到其id是119
3. 删除涉及的数据表中对应该id的记录
一般需要删除的表包括apps表,image_cache表和items表
我们需要查看这三个表的结构
然后使用SQL进行删除:
delete from apps where item_id=119;
delete from image_cache where item_id=119;
delete from items where rowid=119;
退出sqlite3
.exit
重启系统 OK,搞定!