什么是 utsname 和 systemInfo?
What is utsname and systemInfo?
当我找到获取 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
as the structure returned by the uname
function. The uname
functionreturns当前系统的信息。
标识符systemInfo
只是一个变量名。没有什么特别的意思。
存在“需要转换”是因为 utsname.machine
包含一个供程序、程序员和技术人员而非最终用户使用的字符串。某些设备有多个硬件版本,例如 iPhone 5S。 Apple 在与用户交谈时将所有这些称为“iPhone 5S”。在内部,您可以通过查看 utsname.machine
字符串来判断您使用的是哪个硬件版本。如果您想通过用户友好的名称来引用用户的设备,您需要将 utsname.machine
字符串转换为用户友好的名称。
当我找到获取 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
as the structure returned by theuname
function. Theuname
functionreturns当前系统的信息。标识符
systemInfo
只是一个变量名。没有什么特别的意思。存在“需要转换”是因为
utsname.machine
包含一个供程序、程序员和技术人员而非最终用户使用的字符串。某些设备有多个硬件版本,例如 iPhone 5S。 Apple 在与用户交谈时将所有这些称为“iPhone 5S”。在内部,您可以通过查看utsname.machine
字符串来判断您使用的是哪个硬件版本。如果您想通过用户友好的名称来引用用户的设备,您需要将utsname.machine
字符串转换为用户友好的名称。