Вам просто нужно использовать все, что позволит вам на CFBundleVersion
установленного в данный момент плагина.Примерно так работает в среде сценариев оболочки:
/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' /Library/Internet\ Plug-Ins/Flash\ Player.plugin/Contents/Info.plist
Может быть способ найти в списке установленных приложений системы идентификатор пакета, соответствующий com.macromedia.Flash Player.plugin
, и извлечь версию пакета из системной записи.
РЕДАКТИРОВАТЬ : похоже, что и NSWorkspace
, и Launch Services просто отображают элементы для связывания идентификаторов соответствующих приложений, а затем сопоставляют связкуИдентификатор URL или FSRef
.В конечном счете, при таком подходе вам нужно взять соответствующий пакет и извлечь версию оттуда.
Вероятно, есть также способ получить эту информацию из некоторого кода JavaScript, работающего в веб-представлении.Например, SWFObject
от Adobe, кажется, делает это довольно легко.Для получения дополнительной информации см. «Определение версий Flash Player и встраивание SWF-файлов с помощью SWFObject 2» .