パッケージ (DMG) のインストール後にアプリケーションを自動的にドックに追加したいのですが?
誰もこれを行う方法を知っていますか?
アンドリュー、これを行うにはいくつかの方法があります。その多くは、アプリケーションのインストール方法によって異なります。
PackageMaker を使用してアプリをインストールする場合は、アプリのアイコンをドックの「デフォルト」(つまり設定) に追加する「postflight」スクリプトを実行できます。この古い MacRumors スレッドは、その方法を示しています。
PackageMaker を使用していない場合は、同じ「デフォルト」書き込みトリックを行うアプリ内から Applescript を実行する必要がある場合があります。方法を示す AskDifferent のスレッドを次に示します。
どちらの場合も、変更を取得して表示するには、ドック (または Finder?) を強制終了して再起動する必要があります。
次の AppleScript コードを実行し、myapp
ドックに追加するアプリとそのパスを置き換えることをお勧めします。
以下の例では、システム アプリ「System Preferences」を追加していますが、アプリのパスを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
これは Michael の提案に従いますが、Dock を強制終了するのではなく、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'