Что такое utsname и systemInfo?

Когда я нашел способ получить тип устройства iOS (например, iPhone 6, iPhone 6 Plus), я нашел способ сделать, и это помогло

но это дает мне два вопроса?

  1. Что такое utsname и systemInfo, почему мы можем получить тип устройства через него?
  2. Зачем нужно конвертировать, как это?

    ^ @"iPhone5,4" :@"iPhone 5c",       // (model A1507, A1516, A1526 (China), A1529 | Global)
    @"iPhone6,1" :@"iPhone 5s",       // (model A1433, A1533 | GSM)
    @"iPhone6,2" :@"iPhone 5s",  
    

1 ответ

Решение
  1. POSIX определяет struct utsname как структура, возвращаемая uname функция. uname Функция возвращает информацию о текущей системе.

    Идентификатор systemInfo это просто имя переменной. Это не имеет особого значения.

  2. "Необходимость конвертировать" существует потому, что utsname.machine содержит строку, предназначенную для программ, программистов и техников, а не конечных пользователей. Было несколько версий аппаратного обеспечения некоторых устройств, таких как iPhone 5S. Apple называет их всех "iPhone 5S" при общении с пользователями. Внутренне, вы можете сказать, на какой аппаратной версии вы находитесь, посмотрев на utsname.machine строка. Если вы хотите обратиться к устройству пользователя по его удобному имени, вам необходимо выполнить конвертацию из utsname.machine строка для удобного имени.

Другие вопросы по тегам