0

我有每个设备的快照测试。我想检查我在具有快照的特定模拟器上运行的测试。

因此,例如,我想测试当前的模拟器是 iPhone6sPlus9.2,因为我没有为我拥有的许多其他模拟器类型记录快照。

我尝试了许多变体,例如:

(lldb) po [[UIDevice currentDevice] platform]
x86_64

(lldb) po [[UIDevice currentDevice] hwmodel]
MacBookPro11,2

(lldb) po [[UIDevice currentDevice] platformType]
0x0000000000000002

(lldb) po [[UIDevice currentDevice] platformString]
iPhone Simulator

(lldb) po [[UIDevice currentDevice] model]
iPhone

(lldb) po [[UIDevice currentDevice] localizedModel]
iPhone

(lldb) po [[UIDevice currentDevice] systemName]
iPhone OS

(lldb) po [[UIDevice currentDevice] systemVersion]
9.2

(lldb) po [UIDevice currentDevice]
<UIDevice: 0x7fccf060a480>

(lldb) po [[UIDevice currentDevice] name]
iPhone Simulator // I WANT TO KNOW THAT IT IS IPHONE6SPLUS 9.2

还有这里的代码https://github.com/erica/uidevice-extension/

和来自的代码

// UIDevice+YYAdd.h // YYKit https://github.com/ibireme/YYKit

但两者都返回不相关的值,例如设备类型的“x86”。

4

1 回答 1

0

尝试[NSProcessInfo processInfo].environment[@"SIMULATOR_MODEL_IDENTIFIER"]

它将返回iPhone8,2iPhone6s Plus 模拟器。

注意:您可能有理由针对特定的模拟器模型编写代码,但这通常不是一个好主意。您应该改为动态调整屏幕尺寸,检查 API / 框架的可用性等等......

于 2016-12-21T10:14:51.453 回答