Можно ли определить, является ли приложение только снежным барсом, прежде чем пытаться запустить приложение на более ранней версии OSX?
1 ответ
Если авторы приложений используют стандартный способ определения минимальных системных версий для своих приложений, в файле Info.plist
пакета приложений есть записи, которые сообщают Launch Services, какая версия ОС требуется: LSMinimumSystemVersion и LSMinimumSystemVersionByArchitecture.
Например, в DaisyDisk.app/Contents/Info.plist
Daisy Disk указываются следующие минимальные версии:
<key>LSMinimumSystemVersion</key>
<string>10.5.0</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>x86_64</key>
<string>10.6.0</string>
</dict>
Это означает, что DaisyDisk всегда требует 10,5 и 10,6, если вы используете 64-битный Intel Mac (или используете 64-битную версию приложения на 64-битном Intel Mac, так как он настраивается).
Откройте эти файлы .plist
с помощью редактора списков свойств или Xcode 4, в зависимости от версии инструментов разработчика, которые вы установили. Для большинства программ их также можно просмотреть в текстовом редакторе.
Чтобы легко прочитать эти значения в командной строке, введите что-то вроде следующего:
$ /usr/libexec/PlistBuddy -c "Print LSMinimumSystemVersion" /Applications/ApplicationName.app/Contents/Info.plist
10.5.0
$ /usr/libexec/PlistBuddy -c "Print LSMinimumSystemVersionByArchitecture" /Applications/ApplicationName.app/Contents/Info.plist
Dict {
x86_64 = 10.6.0
}