You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Sonoma Dock Web Apps:如何将指定URL重定向至Dock应用?

解决macOS Sonoma Dock Apps 链接重定向问题

方法1:利用Dock App内置关联设置(推荐)

macOS Sonoma的Dock Apps基于Safari容器实现,自带域名关联功能:

  • 打开你的目标Dock App,点击顶部菜单栏的「应用名称 > 设置」
  • 在设置窗口切换到高级标签页
  • 勾选「将此网站设为打开[目标域名]链接的默认应用」
  • 完成设置后,系统会自动把该域名的所有链接定向到Dock App,无需额外工具

方法2:用AppleScript自定义链接处理逻辑

如果需要适配多子域名或复杂规则,可通过脚本编辑器实现:

  1. 打开「脚本编辑器」(Launchpad > 其他 > 脚本编辑器)
  2. 粘贴以下代码,替换YOUR_DOCK_APP_NAME为你的Dock App名称,YOUR_TARGET_DOMAIN为目标域名:
on open location theURL
    if theURL contains "YOUR_TARGET_DOMAIN" then
        tell application "YOUR_DOCK_APP_NAME"
            activate
            open location theURL
        end tell
    else
        tell application "Safari"
            activate
            open location theURL
        end tell
    end if
end open location
  1. 点击「文件 > 导出」,格式选择应用程序,勾选「仅运行」,保存为LinkRedirector.app
  2. 打开「系统设置 > 桌面与 Dock > 文件与链接 > 链接」,将LinkRedirector.app设为http/https链接的默认应用

方法3:终端修改系统URL关联配置(进阶)

通过终端直接修改LaunchServices配置,强制绑定域名与Dock App:

  1. 先获取Dock App的Bundle ID:右键Dock App > 显示包内容 > Contents > Info.plist,查找CFBundleIdentifier字段值
  2. 打开终端,执行以下命令(替换BUNDLE_ID和TARGET_DOMAIN为实际值):
defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerURLScheme = "https"; LSHandlerRoleAll = "BUNDLE_ID"; LSHandlerURLPattern = "*TARGET_DOMAIN*";}'
  1. 刷新LaunchServices生效:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

内容的提问来源于stack exchange,提问作者hocker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:03:16