Что такое utsname и systemInfo?
Когда я нашел способ получить тип устройства iOS (например, iPhone 6, iPhone 6 Plus), я нашел способ сделать, и это помогло
но это дает мне два вопроса?
- Что такое utsname и systemInfo, почему мы можем получить тип устройства через него?
Зачем нужно конвертировать, как это?
^ @"iPhone5,4" :@"iPhone 5c", // (model A1507, A1516, A1526 (China), A1529 | Global) @"iPhone6,1" :@"iPhone 5s", // (model A1433, A1533 | GSM) @"iPhone6,2" :@"iPhone 5s",
1 ответ
POSIX определяет
struct utsname
как структура, возвращаемаяuname
функция.uname
Функция возвращает информацию о текущей системе.Идентификатор
systemInfo
это просто имя переменной. Это не имеет особого значения."Необходимость конвертировать" существует потому, что
utsname.machine
содержит строку, предназначенную для программ, программистов и техников, а не конечных пользователей. Было несколько версий аппаратного обеспечения некоторых устройств, таких как iPhone 5S. Apple называет их всех "iPhone 5S" при общении с пользователями. Внутренне, вы можете сказать, на какой аппаратной версии вы находитесь, посмотрев наutsname.machine
строка. Если вы хотите обратиться к устройству пользователя по его удобному имени, вам необходимо выполнить конвертацию изutsname.machine
строка для удобного имени.