原生iOS常用的判断方法
iOS中判断机型的方式通常是利用屏幕分辨率,导航栏尺寸,是否支持某些功能特性等进行判断。
例如获取屏幕宽高:
CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
Unity中通过device model判断
unity中通常获取iPhone设备的device model来进行机型判断,iPhoneX以后的设备判断方法如下:
bool IsIphoneXDevice = false;
string modelStr = SystemInfo.deviceModel;
#if UNITY_IOS
// iPhoneX:"iPhone10,3","iPhone10,6" iPhoneXR:"iPhone11,8" iPhoneXS:"iPhone11,2" iPhoneXS Max:"iPhone11,6"
IsIphoneXDevice = modelStr.Equals("iPhone10,3") || modelStr.Equals("iPhone10,6") || modelStr.Equals("iPhone11,8") || modelStr.Equals("iPhone11,2") || modelStr.Equals("iPhone11,6");
#endif
不同机型对应的model如下:
- iPhoneX: “iPhone10,3”, “iPhone10,6”
- iPhoneXR: “iPhone11,8”
- iPhoneXS: “iPhone11,2”
- iPhoneXS Max: “iPhone11,6”
维基百科中有最新的iPhone设备model表可查看:
https://www.theiphonewiki.com/wiki/Models