前言:让黑苹果为你自动工作
在黑苹果环境中,很多日常操作都需要手动完成——每次启动后挂载EFI分区、定期清理缓存、批量转换文件格式、甚至自动化博客发布流程。这些重复性工作如果手动操作,不仅效率低下还容易遗漏。
macOS提供了两个强大的自动化工具:Automator和快捷指令(Shortcuts)。Automator是macOS自经典时代就有的自动化工作流工具,而快捷指令则是从iOS移植过来的现代化自动化框架。两者各有优势,组合使用可以覆盖几乎所有自动化需求。
本文将从零开始,带你掌握这两个工具的核心用法,并提供多个专为黑苹果环境设计的实用自动化工作流。无论你是自动化新手还是进阶用户,都能从中找到适合自己的方案。
第一部分:Automator基础入门
什么是Automator
Automator是macOS内置的自动化应用,它通过"动作"(Action)的拖拽组合来创建工作流。每个动作完成一个特定任务,多个动作串联起来就能实现复杂的自动化流程。
Automator支持创建以下类型的工作流:
- 工作流文档:在Automator内运行的完整流程
- 应用程序:可独立运行的双击执行程序
- 服务:在系统菜单中可调用的快速服务
- 文件夹操作:当文件放入指定文件夹时自动触发
- 日历闹铃:在日历事件触发时自动运行
- 打印插件:在打印时自动处理
创建第一个Automator工作流
让我们从最简单的例子开始——一个自动清空下载文件夹超过30天文件的工作流:
- 打开Automator(在应用程序文件夹中)
- 选择"文件夹操作"类型
- 设置目标文件夹为"下载"
- 添加"查找Finder项目"动作,设置条件为"修改日期不在最近30天内"
- 添加"移动Finder项目到废纸篓"动作
- 保存工作流,命名为"AutoClean Downloads"
保存后,每次有新文件进入下载文件夹时,超过30天的旧文件就会被自动移到废纸篓。
第二部分:黑苹果专用自动化工作流
工作流1:自动挂载EFI分区
每个黑苹果用户都需要频繁挂载EFI分区来修改配置。创建一个一键挂载工作流:
- 创建"应用程序"类型的工作流
- 添加"运行Shell脚本"动作
- 脚本内容如下:
# 自动挂载EFI分区
EFI_DISK=$(diskutil list | grep EFI | head -1 | awk '{print $7}')
if [ -z "$EFI_DISK" ]; then
echo "未找到EFI分区"
exit 1
fi
sudo diskutil mount /dev/$EFI_DISK
echo "EFI分区已挂载到 /Volumes/EFI"
# 打开EFI目录
open /Volumes/EFI/EFI保存为应用程序,双击即可一键挂载并打开EFI目录。
工作流2:EFI配置自动备份
在每次修改EFI前自动备份当前配置:
- 创建"应用程序"类型的工作流
- 添加"运行Shell脚本"动作
- 脚本内容:
BACKUP_DIR="$HOME/Documents/EFI_Backups"
DATE=$(date +%Y%m%d_%H%M%S)
EFI_DISK=$(diskutil list | grep EFI | head -1 | awk '{print $7}')
sudo diskutil mount /dev/$EFI_DISK
mkdir -p "$BACKUP_DIR"
cp -r /Volumes/EFI/EFI "$BACKUP_DIR/EFI_$DATE"
sudo diskutil unmount /dev/$EFI_DISK
echo "EFI备份完成: EFI_$DATE"工作流3:系统信息一键采集
在论坛求助时需要提供系统信息,创建一键采集工作流:
# 采集黑苹果系统信息
INFO_FILE="$HOME/Desktop/hackintosh_info.txt"
echo "=== 黑苹果系统信息报告 ===" > "$INFO_FILE"
echo "生成时间: $(date)" >> "$INFO_FILE"
echo "" >> "$INFO_FILE"
echo "=== 系统版本 ===" >> "$INFO_FILE"
sw_vers >> "$INFO_FILE"
echo "" >> "$INFO_FILE"
echo "=== 硬件信息 ===" >> "$INFO_FILE"
system_profiler SPHardwareDataType >> "$INFO_FILE"
echo "" >> "$INFO_FILE"
echo "=== 显卡信息 ===" >> "$INFO_FILE"
system_profiler SPDisplaysDataType >> "$INFO_FILE"
echo "" >> "$INFO_FILE"
echo "=== 网络信息 ===" >> "$INFO_FILE"
system_profiler SPNetworkDataType >> "$INFO_FILE"
echo "" >> "$INFO_FILE"
echo "=== USB信息 ===" >> "$INFO_FILE"
system_profiler SPUSBDataType >> "$INFO_FILE"
echo "信息已保存到 $INFO_FILE"第三部分:快捷指令(Shortcuts)进阶
快捷指令 vs Automator
macOS Sonoma及更高版本中,快捷指令(Shortcuts)成为Automator的现代化替代:
| 特性 | Automator | 快捷指令 |
| 界面 | 传统macOS风格 | 现代化可视化编辑器 |
| 脚本支持 | Shell脚本、AppleScript | Shell脚本、JavaScript |
| iOS联动 | 不支持 | 可与iPhone/iPad联动 |
| 社区资源 | 较少 | 丰富的在线模板库 |
| 学习难度 | 中等 | 较低 |
创建快捷指令自动化
在黑苹果环境下创建实用的快捷指令:
- 打开快捷指令应用
- 点击"+"创建新快捷指令
- 从动作库中拖拽所需动作到编辑区
- 配置每个动作的参数
- 测试运行快捷指令
- 保存并命名
实用快捷指令示例
快捷指令1:快速切换HiDPI模式
对于使用4K显示器的黑苹果用户,一键切换HiDPI非常实用。创建快捷指令包含以下动作:
- 运行Shell脚本:执行hidpi切换命令
- 显示通知:提示当前显示模式
- 确认对话框:确认是否重启生效
快捷指令2:自动发布WordPress文章
利用快捷指令的"获取URL内容"动作,可以实现一键发布文章到WordPress:
- 接收文本输入(文章标题和内容)
- 构造JSON请求体
- 发送POST请求到WordPress REST API
- 显示发布结果通知
第四部分:自动化工作流高级技巧
AppleScript集成
Automator可以运行AppleScript,这为自动化提供了更强大的能力:
-- AppleScript: 自动关闭所有Finder窗口并清理桌面
tell application "Finder"
close every window
-- 将桌面上的临时文件移到指定文件夹
set tempFiles to every item of desktop whose name starts with "tmp_"
move tempFiles to folder "TempArchive" of folder "Documents" of home
end tellShell脚本高级技巧
在Automator的Shell脚本动作中,可以使用更复杂的脚本:
# 黑苹果健康检查脚本
echo "=== 黑苹果系统健康检查 ==="
# 检查内核扩展加载状态
echo "Kext加载状态:"
kextstat | grep -i "lilu\|virtualsmc\|whatevergreen\|applealc" || echo "警告: 关键kext未加载"
# 检查APFS卷状态
echo "APFS卷状态:"
diskutil apfs list
# 检查EFI分区
echo "EFI分区状态:"
diskutil list | grep EFI || echo "警告: EFI分区未找到"
# 检查睡眠配置
echo "电源配置:"
pmset -g custom | grep -i "sleep\|hibernate\|standby"定时自动化
通过Automator的日历闹铃类型或macOS的launchd,可以实现定时自动化:
- 创建日历闹铃类型工作流,设置触发时间
- 或创建plist文件使用launchd定时运行脚本
- 适合场景:定期清理缓存、定时备份、自动检查更新等
第五部分:常见问题与解决方案
权限问题
Automator和快捷指令在黑苹果环境下可能遇到权限问题:
- Shell脚本需要sudo:将脚本保存为独立.sh文件,通过终端授权后运行
- 辅助功能权限:在系统偏好设置中授予Automator辅助功能权限
- 磁盘访问权限:确保自动化工作流有访问目标磁盘的权限
兼容性问题
部分Automator动作在黑苹果上可能不正常:
- iCloud相关动作:需要正确的SMBIOS配置才能使用
- Apple Watch解锁:黑苹果无法使用此功能
- Siri相关动作:需要配置正确的NVRAM值
总结
自动化是提升黑苹果使用效率的关键。通过Automator和快捷指令,你可以:
- 一键完成重复性操作(挂载EFI、备份配置等)
- 自动维护系统健康(定期清理、自动备份)
- 简化复杂工作流程(批量文件处理、自动发布)
- 创建个人工具箱,让黑苹果真正成为高效的工作环境
建议从简单的自动化工作流开始,逐步积累经验后创建更复杂的流程。每个节省5分钟的操作,长期来看都是巨大的效率提升。希望这篇指南能帮助你开启黑苹果自动化的旅程!🍎


评论(0)