以编程方式将 Web 应用快捷方式添加到 macOS Dock

Posted

技术标签:

【中文标题】以编程方式将 Web 应用快捷方式添加到 macOS Dock【英文标题】:Programmatically add web app shortcut to macOS Dock 【发布时间】:2019-04-15 20:23:35 【问题描述】:

我正在以编程方式将应用图标添加到 Dock。但是我找到的所有信息都表明我需要在更改后重新启动 Dock。

是否有任何可能的方法可以将图标添加到不需要终止 Dock 进程的“实时”Dock?我可以使用 Mach IPC 吗?

【问题讨论】:

【参考方案1】:

我找到了以下 AppleScript。它在我的系统上运行。

my add_item_to_dock(choose file of type "APPL" with prompt "Choose an application to add to the Dock:")
on add_item_to_dock(item_path)
    try
        get item_path as alias -- you need a POSIX path so this coerces the path in case it's an HFS path, alias, file ref, etc.
        set item_path to POSIX path of item_path
    end try
    try
        tell application "Dock" to quit
    end try
    do shell script "defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>" & item_path & "</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'"
    try
        tell application "Dock" to activate
    end try
end add_item_to_dock

此条目将存储在 ~/Library/Preference/com.apple.cock.plist 中

希望这会有所帮助。

【讨论】:

以上是关于以编程方式将 Web 应用快捷方式添加到 macOS Dock的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在系统偏好设置中设置 macOS 键盘快捷键?

以编程方式获取/设置 Macos 默认系统键盘快捷键

以编程方式将 Bean 添加到 Spring Web App 上下文

如何以编程方式将空间添加到任务控制?

SiriKit:在 IntentsDefinition 文件中定义的快捷方式未显示在 macOS 的快捷方式应用程序中?

如何在 macOS 上以编程方式在 Swift 中添加 NSView [重复]