什么是 utsname 和 systemInfo?

What is utsname and systemInfo?

当我找到获取 iOS 设备类型(例如,iPhone 6、iPhone 6 Plus)的方法时,我找到了一种方法,它做到了 help

但是它给我这两个问题?

  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. POSIX定义了struct utsname as the structure returned by the uname function. The uname functionreturns当前系统的信息。

    标识符systemInfo只是一个变量名。没有什么特别的意思。

  2. 存在“需要转换”是因为 utsname.machine 包含一个供程序、程序员和技术人员而非最终用户使用的字符串。某些设备有多个硬件版本,例如 iPhone 5S。 Apple 在与用户交谈时将所有这些称为“iPhone 5S”。在内部,您可以通过查看 utsname.machine 字符串来判断您使用的是哪个硬件版本。如果您想通过用户友好的名称来引用用户的设备,您需要将 utsname.machine 字符串转换为用户友好的名称。