8

我希望我的应用程序在安装包 (DMG) 后自动添加到扩展坞?

有谁知道如何做到这一点?

4

2 回答 2

6

有几种方法可以做到这一点,Andrew,这在很大程度上取决于您如何进行应用程序安装。

如果您正在使用 PackageMaker 安装您的应用程序,您可以运行“postflight”脚本,将您的应用程序图标添加到 Dock 的“默认值”(即首选项)。这个较旧的 MacRumors 线程显示了如何做到这一点

如果您没有使用 PackageMaker,那么您可能必须在您的应用程序中运行一个 Applescript,它执行相同的“默认”写作技巧。这是 AskDifferent 上的一个线程,它显示了.

在这两种情况下,您都需要关闭扩展坞(或 Finder?)并重新启动它,以便获取并显示更改。

于 2012-11-19T09:55:11.443 回答
0

我建议您运行以下 AppleScript 代码,替换myapp为您要添加到 de Dock 的应用程序,包括其路径。

在下面的示例中,我添加了系统应用程序“系统偏好设置”,但您可以对自己的路径执行相同操作,只需将应用程序的路径分配给myapp变量即可。

 on run
   set myapp to "/Applications/System Preferences.app"
   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>" & myapp & "</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'"
   try
     tell application "Dock" to activate
   end try
 end run

这遵循迈克尔给出的建议,但它应该更温和,因为它只是退出Dock 而不是感谢杀死它。

如果您更喜欢 bash,您可以运行以下代码,再次将您自己的应用程序的路径分配给myapp变量。

注意:在 bash 案例中,您必须在指定路径时使用双斜杠,如示例中所示。

#!/bin/bash
myapp="//Applications//System Preferences.app"
defaults write com.apple.dock persistent-apps -array-add "<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>$myapp</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>"
osascript -e 'tell application "Dock" to quit'
osascript -e 'tell application "Dock" to activate'
于 2021-02-17T15:12:35.790 回答