« Adobe Remote Update Manager version : 2.6.0.9 | トップページ | 【Acrobat】Acrobatフォームでデータ印字(はがき宛名) »

[Adobe] HUM.dylibのバージョンを取得する

Adobe Remote Update Manager version : 2.6.0.9LINKに出てくる
HUM.dylibのバージョンを取得する方法

要コマンドラインツール
otool→llvm-otoolが必要です
/Library/Developer/CommandLineTools/usr/bin/llvm-otool

コマンドラインツールのインストールは
xcode-select --install を実行するとユーザーインターフェイスが起動してインストールされる

otoolでバージョンを取得できるのはdylibにplistが埋め込まれている場合に限るので
dylibの作者次第となります。
(Adobe系のdylibでも取得できない物もあります)


ダウンロード - getdylibver.scpt.zip


set theDylibPath to "/Library/Application Support/Adobe/Adobe Desktop Common/HDBox/HUM.dylib"

--要コマンドラインツール
try
set theCommand to ("otool -P \"" & theDylibPath & "\"") as text
set theDylibPlist to (do shell script theCommand) as text
on error
try
do shell script "xcode-select --install"
end try
end try
---不要なデータを削除して
set theDylibPlist to doReplace(theDylibPlist, "" & theDylibPath & ":", "")
set theDylibPlist to doReplace(theDylibPlist, "(__TEXT,__info_plist) section", "")
---テキストデータにする
set theCommand to ("echo \"" & theDylibPlist & "\" > /private/tmp/Dylib.plist") as text
do shell script theCommand
---XML形式のplistをバイナリに→この時にXMLが整形されるのでエラー避け
set theCommand to ("plutil -convert binary1 /private/tmp/Dylib.plist") as text
do shell script theCommand
---バージョンを取得する
set theCommand to ("defaults read \"/private/tmp/Dylib.plist\" \"CFBundleVersion\"") as text
set theDylibVer to (do shell script theCommand) as text

---ログ
log theDylibVer
return theDylibVer

#################################
to doReplace(theText, orgStr, newstr)
set oldDelim to AppleScript's text item delimiters
set AppleScript's text item delimiters to orgStr
set tmpList to every text item of theText
set AppleScript's text item delimiters to newstr
set tmpStr to tmpList as text
set AppleScript's text item delimiters to oldDelim
return tmpStr
end doReplace

|

« Adobe Remote Update Manager version : 2.6.0.9 | トップページ | 【Acrobat】Acrobatフォームでデータ印字(はがき宛名) »

Mac Admin」カテゴリの記事