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

Posted

技术标签:

【中文标题】在模拟器上运行时获取设备型号名称?【英文标题】:Get the Device model name when running on Simulator? 【发布时间】:2015-07-07 10:27:23 【问题描述】:

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

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

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

device.model: iPhone Simulator

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

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

【问题讨论】:

您签入设备了吗?模拟器不是设备 它在设备上工作,但我想知道模拟器正在模拟哪个设备。 【参考方案1】:

@jcesarmobile在 Swift 中的回答:

ProcessInfo.processInfo.environment["SIMULATOR_MODEL_IDENTIFIER"]

返回例如iPhone11,2 适用于 iPhone Xs

【讨论】:

【参考方案2】:

您可以通过

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

【讨论】:

【参考方案3】:

实际上,iPhone模拟器是一种类似于真机iPhone 3的模型。你可以参考这里的问题UIDevice currentDevice model possible values

【讨论】:

【参考方案4】:

你不能。设备模型基于运行 ios SDK 的实际硬件,在模拟器中是计算机。

此 pod 可让您轻松访问所有设备型号: https://github.com/InderKumarRathore/DeviceUtil

【讨论】:

以上是关于在模拟器上运行时获取设备型号名称?的主要内容,如果未能解决你的问题,请参考以下文章

在 XCTest (UITesting) 中获取设备名称

如何使用 reactjs 在 webapps 上获取特定的移动设备型号?

当我在设备上运行程序时,AssetsLibrary 没有获取保存在相机胶卷中的图像

尝试使用 Parse.com 获取推送通知无法在设备上运行

NSLog 在 iphone 模拟器上运行时输出到控制台,但在设备上运行时不输出

在设备上测试其他人的应用