macOS Tips
命令行工具
xcode-select --install
softwareupdate --install-rosetta
文件已损坏
sudo xattr -r -d com.apple.quarantine xxx.app
重置 LaunchPad
defaults write com.apple.dock ResetLaunchPad -bool TRUE; killall Dock
查看 Java 路径
/usr/libexec/java_home
刷新 dns
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
便签默认字体
获取应用 id
osascript -e 'id of app "SomeApp"'
或在 Info.plist 中查找 CFBundleIdentifier 的值.
查看 plist
plutil -p xxx
更改默认应用
duti -s org.mozilla.librewolf public.html all
duti -s com.microsoft.VSCode .md all
文件夹本地化
系统级实现: /System/Library/CoreServices/SystemFolderLocalizations/zh_CN.lproj/SystemFolderLocalizations.strings
用户实现
- 文件夹以 .localized 结尾
- 创建 .localized 子文件夹
- 在 .localized 中创建对应的文件, 例如 zh.strings, 其内容为 xxx(原文)=xxx(译文);
切换用户
sudo -u username
Finder 添加快速操作
快速操作-打开访达项目
快捷键打开 app
- 快速操作-开启应用程序
- 键盘-快捷键-服务-通用
通过自动操作将 jar 制作为应用程序
以 hmcl 为例
- 选择文稿类型 - 应用程序
- 运行 shell 脚本
cd ~/Games/Minecraft && java -jar $(ls hmcl*.jar | sort -rV | head -n1) - 保存到应用程序目录
切换开关菜单栏
Raycast 插件 toggle-menu-bar
退出应用
#!/usr/bin/osascript
-- usage: osascript ~/bin/quitapps.applescript 2>&1
-- https://stackoverflow.com/questions/495323/quit-all-applications-using-applescript
set blackList to {"io.github.clash-verge-rev.clash-verge-rev", "com.microsoft.edgemac", "com.tencent.qq", "com.tencent.xinWeChat", "com.obsproject.obs-studio", "com.alicloud.smartdrive", "com.kingsoft.wpsoffice.mac"}
set whiteList to {"com.apple.finder", "com.apple.systempreferences", "com.apple.ScriptEditor2", "com.apple.Stickies", "com.googlecode.iterm2", "net.kovidgoyal.kitty", "com.microsoft.VSCode", "jacklandrin.OnlySwitch", "md.obsidian"}
-- get list of open apps
tell application "System Events"
set allAppIds to bundle identifier of processes whose background only is false
log allAppIds
end tell
-- quit each app
repeat with appId in allAppIds
if appId is not in whiteList then
log appId
tell application id appId to quit
end if
end repeat