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

但这给了我两个问题?

  • 什么是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",
    
  • 最佳答案

  • POSIX将 struct utsname 定义为uname函数返回的结构。 The uname function返回有关当前系统的信息。
    标识符systemInfo只是一个变量名。它没有特殊含义。
  • 之所以存在“需要转换”,是因为utsname.machine包含供程序,程序员和技术人员使用的字符串,而不是供最终用户使用的字符串。某些设备有多种硬件版本,例如iPhone 5S。与用户通话时,Apple称所有这些均为“iPhone 5S”。在内部,您可以通过查看utsname.machine字符串来确定所使用的硬件版本。如果要通过用户友好名称来引用用户设备,则需要将utsname.machine字符串转换为用户友好名称。
  • 关于ios - 什么是utsname和systemInfo?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28185883/

    10-14 22:50