iOS开发之设置兼容机型
iOS开发之设置兼容机型,iOS开发中,可能有些比较老的机型不想再适配了,但是通过设置支持的系统版本并不能限制机型。
比如我们的需求是,系统适配iOS8及以上,手机适配iPhone4s以后的机型,解决方案如下:
1、系统版本适配
在General——》Deployment Info——》Deployment Target中选择版本号(比如8.0),这样系统版本低于设置的版本号的手机就不能安装运行此App了。
2、手机机型适配
Build Settings——》Architecture设置为Standard Architectures——》Valid Architectures设置为arm64和armv7s即可。
手机兼容机型配置原理:
以前只知道版本的设置方法,苦恼于适配小屏手机的工作量,却不知道如何阻止小屏手机升级系统版本后安装App。Xcode中项目的基础配置有很多也很杂,一般都是使用默认设置。后来就在想,能否通过项目的其他参数的配置来让某些版本的手机直接不能正常安装呢?
1、Architectures:指定工程被编译成支持哪些指令集类型,而支持的指令集越多,就会编译出很多个指令集代码的数据包,对应生成二进制包就越大,也就是ipa包越大。
2、Valid Architectures:限制可能被支持指令集的范围,就是xcode编译出来的二进制包类型最终从这些类型产生,而编译出哪些指令集的包,将由Architectures与Valid Architectures这些交集来确定。
3、指定是都只对当前连接设备所支持的指令集编译,当设置为YES时,是为了debug编译的速度更快,它只会编译当前的architecture版本,当设置为NO时,会编译所有的版本,所以一般debug设置为YES,release设置为NO,以适应不同设备。