在模拟器上 运行 时获取设备型号名称?

Get the Device model name when running on Simulator?

我知道可以通过以下方式检索设备的型号名称:

let device: UIDevice = UIDevice.currentDevice()
println("device.model: \(device.model)")

问题是在模拟中 运行 时这不起作用。结果将是:

device.model: iPhone Simulator

它可以在设备上运行,但我想知道模拟器正在模拟哪个设备。

如何在模拟器上 运行 时获取设备型号名称?

你不能。设备型号是根据实际硬件运行 iOS SDK,在模拟器中就是电脑。

此窗格提供对所有设备型号的轻松访问: https://github.com/InderKumarRathore/DeviceUtil

其实iPhone模拟器是和真机一样的一种机型iPhone 3.问题可以参考这里UIDevice currentDevice model possible values

您可以通过

获取设备型号
NSString * model = [NSString stringWithFormat:@"%s" , getenv("SIMULATOR_MODEL_IDENTIFIER")];

@jcesarmobile在Swift中的回答:

ProcessInfo.processInfo.environment["SIMULATOR_MODEL_IDENTIFIER"]

Returns 例如iPhone11,2 对于 iPhone Xs