AppleScript名:アプリケーションのBundle IDからアプリアイコンへのフルパスを取得する |
— Created 2016-02-08 by Takaaki Naganoya — 2016 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "AppKit" set aBundleID to "com.apple.Safari" set aPath to retAppIconPathFromBundleID(aBundleID) of me –> "/Applications/Safari.app/Contents/Resources/compass.icns" –Bundle IDからアプリケーションアイコンのフルパスをPOSIX pathで返す on retAppIconPathFromBundleID(aBundleID) –Bundle IDからアプリケーションへのパスを取得する set appPath to current application’s NSWorkspace’s sharedWorkspace()’s absolutePathForAppBundleWithIdentifier:aBundleID if appPath = missing value then return false –Info.plistを読み込んで、iconのファイル名を取得 set aDict to (current application’s NSBundle’s bundleWithPath:appPath)’s infoDictionary() set iconFile to aDict’s valueForKey:"CFBundleIconFile" if iconFile = missing value then return false –パスからバンドルを取得して、バンドル内の指定ファイルタイプのファイル名のパスを取得する set aBundle to current application’s NSBundle’s bundleWithPath:appPath set iconFullPath to aBundle’s pathForResource:iconFile ofType:"icns" if iconFullPath = missing value then return false return iconFullPath as string end retAppIconPathFromBundleID |
(Visited 52 times, 1 visits today)