3

当我找到获取 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",  
    
4

1 回答 1

2
  1. POSIX 定义struct utsname为函数返回的结构unameuname函数返回有关当前系统的信息。

    标识符systemInfo只是一个变量名。它没有特别的意义。

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

于 2015-01-28T06:33:21.220 回答