区别 iOS 真机与模拟器的 CPU 架构
1.如何合并真机和模拟器的.a库
先做好真机与模拟器的静态库,打开终端管理器,输入lipo -create +(真机及模拟器的静态库文件)(直接拖动相应文件进来会自动生成地址) + -output +(输出的地址)
2.如何查看静态库的cpu架构
1.*****查看静态库支持的架构:
2.lipo -info /Users/路径/Desktop/xxxx.framework/xxxx
3.lipo -info xxxx.a
1.进入到framework目录下
cd /Users/.../xxxFramework.framework
2.输入命令
lipo -info xxxFramework
3.CPU架构
模拟器:
i386:iphone5/iphone5c以下的模拟器
x86_64:iPhone5s以上的模拟器
真机:
armv6:iPhone、iPhone2、iPhone3G、iPod Touch(第一代)、iPod Touch(第二代)
armv7:iPhone3Gs、iPhone4、iPhone4s、iPad、iPad 2
armv7s:iPhone5、iPhone5c
arm64:iPhone5s、iPhone6、iPhone6p、iPhone6s、iPhone6sp、iPhone7、iPhone7p、iPhone8、iPhone8p、iPhoneX
arm64e:iPhone XS、iPhone XS Max、iPhone XR
即:
模拟器32位处理器需要i386架构
模拟器64位处理器需要x86_64架构
真机32位处理器需要armv7,或者armv7s架构
真机64位处理器需要arm64,或者arm64e架构
4.在xcode里如何配置静态库支持的CPU架构
在实际开发中的选择问题
Xcode中指令集相关选项(Build Setting中)
Architectures
指定工程被编译成可支持哪些指令集类型,而支持的指令集越多,就会编译出包含多个指令集代码的数据包,对应生成二进制包就越大,也就是ipa包会变大。
Valid Architectures
限制可能被支持的指令集的范围,也就是Xcode编译出来的二进制包类型最终从这些类型产生,而编译出哪种指令集的包,将由Architectures与Valid Architectures(因此这个不能为空)的交集来确定
Build Active Architecture Only
指定是否只对当前连接设备所支持的指令集编译
当其值设置为YES,这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本,而设置为no时,会编译所有的版本。 所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。
参考链接:
https://blog.****.net/u011146511/article/details/90019742
转载于:https://www.cnblogs.com/zhengweifang/p/11447320.html
上一篇: Appium工具
下一篇: 快速上手 Appium:如何搭建测试环境
推荐阅读
-
iOS自动化测试实战:模拟器和真机环境的坑与解决方法(第一部分)
-
区别 iOS 真机与模拟器的 CPU 架构
-
如何在uniapp中实现在真机、手机模拟器与微信开发者工具里的运行与调试操作指南
-
干货|实用的 iOS 云真机的技术架构是如何搭建的?
-
三分钟带你了解手机内部硬件-主要影响手机性能的有以下几点 CPU - *处理器(手机中的大脑) CPU 是计算思考以及处理事物的。 比如:我们日常玩手机,什么最重要?毫无疑问是手机打开软件很流畅,使用各种功能不卡。 这就是CPU的性能,那什么影响 CPU 的因素有哪些? 架构 架构是 CPU 的基础,对于处理器的整体性能起到了决定性的作用,不同架构的处理器同主频下,性能差距可以达到2-5倍。可见架构的重要性。 那么什么是架构呢? 打个比方,架构就是一栋楼的框架。至于最终楼什么样子,就由处理器的厂商决定了,但是有一点,如果说这栋楼房的结构设计出来容纳多少人,那么最后建好的房子也要在这个范围内。同理,如果使用相同架构的处理器,那么本质上不会有太大的区别。 看一下主流手机的架构 处理器对比.jpg 从上图可见:高通 和 苹果都是自主设计,所以说它们牛还是有一定的道理的。不同的架构, 性能和功耗也是不同的。架构决定了 主频、核心数、带宽等和运算量直接相关的东西。目前很多手机打广告都是说 多少核的机器。但是并不是说核越多性能就越强,你没看见,苹果双核就能吊打高通和联发科吗? 制程 制程 专指:事物运作程序的处理过程。常指手机芯片框架的运算速度量。 简单的说就是电路板中电路与电路之间的距离,目前已经发展到纳米级别。 制程越小,可以向芯片中塞入更多的晶体管,随之而来的好处还有:降低电量和成本、散热。 制程数的确定 这里有人要问,为什么制程的数字是这些,而不是别的数字,比如有28nm,为什么没有29nm? 这其实是有一定规律的。根据早期国际半导体蓝图规划,由五个在相关领域较为发达的国家共同制定,约定下一代制程要在上一代基础上做到晶体管数量不变,芯片面积缩小一半。由这一关系可以算出前一代制程要比后一代大√2倍,所以能算出后一代大概数值。纵观整个处理器制程变化,除了少部分特殊的外,都遵循着这一规则。 近代制程的发展 2014 年底,三星宣布了世界首个 14nm FinFET 3D 晶体管进入量产,标志着半导体晶体管进入 3D 时代。发展到今天,三星拥有了四代 14nm 工艺,第一代是苹果 A9 上面的 FinFET LPE(Low Power Early),第二代则是用在猎户座 骁龙 820 和骁龙 625 上面的 FinFET LPP(Low Power Plus)。第三代是 FinFET LPC,第四代则是目前的 FinFET LPU。至于 10nm 工艺,三星则更新到了第三代(LPE/LPP/LPC)。 目前为止,三星已经将 70000 多颗第一代 LPE(低功耗早期)硅晶片交付给客户。三星自家的猎户座 8895,以及高通的骁龙 835,都采用这种工艺制造,而 10nm 第二代 LPP 版和第三代 LPU 版将分别在年底和明年进入批量生产。 手机芯片市场上已经进入了 10nm、7nm 处理器的白热化竞争阶段,而 14/16nm 制程的争夺也不过是一两年前的事。 总线位宽 总线位宽决定输入/输出设备之间一次数据传输的信息量,用位(bit)表示,如总线宽度为8位、16位、32位和64位。