Вы могли сказать мне - которые возражают и какой метод я могу использовать для выборки информации об установленных приложениях на OSX с целью c или macruby?
Вы можете просто вызвать инструмент командной строки Apple system_profiler
, например
% system_profiler SPApplicationsDataType
Для C или Objective-C вы можете использовать system ()
для этого.
Для получения дополнительной информации:
% man system
% man system_profiler
Поскольку это unix-подобная ОС, нет реального способа узнать, что вы установили (если, конечно, вы не контролируете другое приложение - то есть много способов сделать это по понятным причинам).
Обычно приложения помещаются в / Applications или ~ / Applications, НО вы можете запускать их из любого места, а не из этих папок (как на компьютере с Unix)
Если вы хотели перечислить все приложения с графическим интерфейсом, вы можете использовать Запуск служб . Список функций см. В в ссылке .
Не указывайте вручную пакеты .app
! Это уже сделано системой, и вам просто нужно запросить ее.
Существует программа командной строки под названием lsregister
по адресу
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister
, которую можно использовать для получения подробной информации дамп базы данных Launch Service. Этот инструмент иногда бывает полезен, но не зависит от этого в программе доставки,
В OS X нет понятия «установка приложения». Приложения OS X - это автономные пакеты, которые отображаются в Finder как один виртуальный файл. Нет никакого центрального реестра, просто соглашение, согласно которому приложения помещаются в / Applications или ~ / Applications для "установки" для каждого пользователя.
Лучшее, что вы можете сделать, это перечислить эти каталоги по их содержимому, и каждый найденный вами каталог «.app» является приложением. Он не будет исчерпывающим (я часто запускаю небольшие приложения, например, со своего рабочего стола, если я только что их загрузил).