Unity 之 代码获取IOS设备型号

  • 一,通过机器型号校验
    • 1.1 逻辑解释
    • 1.2 实现代码
  • 二,通过长宽比校验

一,通过机器型号校验

1.1 逻辑解释

在https://www.theiphonewiki.com/wiki/Models上有所有IOS设备型号的代码(最新设备会同步更新),下拉可以看到各种iPhone手机的代码型号,如下图红框:

找到设备型号后,即可在代码中进行如下逻辑处理

if(SystemInfo.deviceModel.Equals("iPhone13,4"))
{todo... 是iPhone 13 Pro Max 型号设备
}

1.2 实现代码

 #region 校验IPhone机型/// <summary>/// 当前运行设备型号/// -1:默认, 0:正常iph, 1:X系列iph, 2:Ipad/// </summary>private static int _iphoneDevice = -1;/// <summary>/// Apple苹果设备型号代码deviceModel/// 校验当前运行IPhone机型/// 0:正常iph, 1:X系列iph, 2:Ipad/// </summary>/// <returns></returns>public static int GetIphoneDevice(){if (_iphoneDevice != -1) return _iphoneDevice;#if UNITY_EDITOR_iphoneDevice = 0;
#elif UNITY_IOSstring modelStr = SystemInfo.deviceModel;string modelType = modelStr.ToLower().Trim().Substring(0, 3);if (modelType == "iph"){// iPhoneX:"iPhone10,3","iPhone10,6"  iPhoneXR:"iPhone11,8"  iPhoneXS:"iPhone11,2"  iPhoneXS Max:"iPhone11,6"// iPhone 12Pro "iPhone13,3" iPhone 12Pro "iPhone13,4"bool IsIphoneXDevice = modelStr.Equals("iPhone10,3") || modelStr.Equals("iPhone10,6") ||modelStr.Equals("iPhone11,8") || modelStr.Equals("iPhone11,2") ||modelStr.Equals("iPhone11,6") || modelStr.Equals("iPhone13,3") || modelStr.Equals("iPhone13,4");_iphoneDevice = IsIphoneXDevice ? 1 : 0;}else if (modelType == "ipa"){//iPad机型_iphoneDevice = 2;}else{_iphoneDevice = 0;}
#else_iphoneDevice = 0;
#endif//Debug.Log("当前机型ID:" + _iphoneDevice);return _iphoneDevice;}

缺点:每当有新的型号的手机发布时,都需要手动添加更新一下,否则会出现新机型是x系列的情况,按照正常机型处理的情况。


二,通过长宽比校验

通过设备的长宽比来校验设备型号,长宽比是1.53是Pad,长宽比在1.53f1.9之间,则是正常机型,长宽比大于1.9的都是长屏手机,则都可安装x系列做适配处理

直接上代码:

/// <summary>
/// 当前运行设备型号
/// 0:正常iph, 1:X系列iph, 2:Ipad
/// </summary>
private int platformType = 0;private void SetScreenType()
{float width = Screen.width;float height = Screen.height;float value = width / height;if (value < 1.53f){platformType = 2;}else if (value >= 1.53f && value < 1.9f){platformType = 0;}else{platformType = 1;}// todo...各种屏幕设置//Screen.autorotateToLandscapeLeft = true;//Screen.autorotateToLandscapeRight = true;//Screen.autorotateToPortrait = false;//Screen.autorotateToPortraitUpsideDown = false;//Screen.orientation = ScreenOrientation.AutoRotation;
}

Unity 之 代码获取IOS设备型号 -- 做分辨率适配相关推荐

  1. 最新获取iOS设备型号大全(包括iphone7,iphone7 Plus)

    获取iOS设备型号,找了一圈发现一般写的都不够全,自己完善了一下. 调用记得加上头文件: #import <sys/utsname.h> + (NSString*)deviceString ...

  2. (转)获取iOS设备型号(最新iPhone6+、iPad4)

    http://www.oschina.net/code/snippet_2247606_39106 //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIVi ...

  3. 获取ios设备的电池信息

    苹果官方给的关于如何获取设备电池信息接口很简单,尤其是获取电池的准确电量(官方的只能获取当前设备的电量的百分比).我之前写过一篇关于如何获取ios设备型号的文章,里面提到如何在项目在获取ios设备的具 ...

  4. 服务器能识别手机型号,iOS获取当前设备型号等信息(全)包含iPhone7和iPhone7P

    获取设备信息总结 1.获取设备的信息 2.获取设备的唯一标示符 3.为系统创建一个随机的标示符 4.获取当前屏幕分辨率的信息 5.获取运营商的信息 需要先导入头文件 创建对象 获取运行商的名称 获取当 ...

  5. 获取iOS设备的型号

    2019独角兽企业重金招聘Python工程师标准>>> 三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. u ...

  6. iOS学习——获取iOS设备的各种信息

    不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...

  7. 通过Safari与mobileconfig获取iOS设备UDID(设备唯一标识符)

    本文基于在线安装Profile来实现获取UDID. 先看下效果,真机打开 获取设备UDID 科普 UDID UDID (Unique Device Identifier),唯一标示符,是iOS设备的一 ...

  8. 2013-12-IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法 列表最新对照表: http://theiphonewiki.com/wiki/Models 方法: #import "sys/utsname.h" ...

  9. 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)

    通过Safari与mobileconfig获取iOS设备UDID(设备唯一标识符) 科普:U D I D (Unique Device Identifier),唯一标示符,是iOS设备的一个唯一识别码 ...

最新文章

  1. 使用JDBC,完成对如下表的增删改查操作
  2. python清洗数据去除停用词_Python从pandas数据帧中删除停用词
  3. java getClass()
  4. 公司培训文档-JavaScript[对象.属性]集锦
  5. 华为发布《大交通时代》:开启未来数字交通宏图
  6. oracle rac war配置,Oracle RAC安装配置流程
  7. poj Balanced Lineup RMQ
  8. 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库
  9. linux eclipse 菜单,Ubuntu 16.04中的Eclipse Mars菜单栏选项失效
  10. react循环key值_React性能优化的几个知识点
  11. springMVC常见问题
  12. 计算机中丢失xvidcore.dll,找不到xvidcore.dll怎么办?
  13. 数据预处理_缺失值处理
  14. 现代计算机专业版官网,现代计算机期刊_投稿邮箱_杂志_编辑部_审稿_投稿须知...
  15. java.util.concurrent.ExecutionException 错误解决。
  16. 细胞器基因组|比较基因组分析助力深度挖掘细胞器进化关系
  17. 离线高清卫星地图SDK及解决方案
  18. tensorflow1运用模型断点续训、恢复图和进行预测
  19. jquery 入门(jquery是什么/与JavaScript的联系与区别/jquery版本/引包/入口函数)
  20. Windows 7 bluetooth 外围设备 解决方案

热门文章

  1. 漫画:程序员找工作—外包公司
  2. Either your server has no Maven installations defined, or the requested Maven version does not exist
  3. 数据分析模型篇—安索夫矩阵
  4. SMAA算法详解 - SearchTex
  5. fx3u4ad一adp说明书_FX3U-4AD-ADP使用案例三菱FX3U-4AD-ADP硬件手册 - 广州正凌
  6. Skype for Business Server与Microsoft Teams的长期共存模式
  7. 路由器、AC、AP及POE交换机理解
  8. 如何一键批量转换Excel里面的“文本形式数字”为“数值型数字”
  9. Flex弹性盒子(一篇带你掌握潮流 Flex 布局)
  10. php的radio怎么设置默认是勾选的,php实现select、radio和checkbox默认选择的实例参考...