Как System Profiler получает полный идентификатор оборудования Mac? - PullRequest
20 голосов
/ 09 ноября 2011

Существует несколько команд терминала для получения числового / сокращенного идентификатора модели для оборудования Mac.

  • sysctl hw.model
  • system_profiler SPHardwareDataType

Они выводят строку с именем оборудования и версией x, y.В настоящее время нам нужно вести таблицу для преобразования этих идентификаторов в полное описание машины на английском языке.

Существует ли API или, что лучше, инструмент командной строки, который может создавать более понятные для человека имена, соответствующие документации Apple MacBook Pro 15 дюймов, середина 2009 года вместо более сокращенного MacBookPro5,3 Идентификатор модели? enter image description here

Проще говоря, как System Profiler получает красивые полные именаMac, и могу ли я систематически использовать эту информацию с помощью скрипта или программы?

Ответы [ 3 ]

14 голосов
/ 22 ноября 2011

проверил сетевой трафик. Информация о системе подключается к

http://support -sp.apple.com

Полный запрос выглядит так:

http://support -sp.apple.com / SP / продукт? Сс = DJWR & Ланг = de_DE

Где 'DJWR' - последние четыре символа серийного номера

Подробнее здесь: http://blog.coriolis.ch/get-your-apple-device-model-name-in-a-readable-format/

13 голосов
/ 16 ноября 2011

ServerKit.framework имеет список свойств в своих ресурсах, который может помочь вам с идентификатором модели <-> перевод строки названия модели:

/System/Library/PrivateFrameworks/ServerKit.framework/Versions/A/Resources/English.lproj/XSMachineAttributes.plist

5 голосов
/ 27 июня 2013

Вы можете использовать system_profiler -xml SPHardwareDataType и искать клавишу machine_name.

РЕДАКТИРОВАТЬ: Конечно, это не отвечает на вопрос в заголовке о том, как это делает System Profiler, но предоставляетспособ сделать это в своем собственном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...