1. 硬件方面的区别
部分硬件功能在模拟器上并不支持,如下
- 陀螺仪、加速计
- 音频,视频输入
- 近物体传感器
- 气压计
- 光感器
2. OpenGL ES的区别
模拟器已经实现了 OpenGL ES 1.1, 2.0, 3.0,并且在性能方面与A7 GPU相似,更多关于iOS硬件信息可以查看-iOS Device Compatibility Reference,但是还是有所不同,区别如下
- 模拟器不使用贴图延迟渲染(TBDR-点击这里)
- 模拟器在硬件绘图上没有真机上精确
- OpenGL ES渲染在模拟器与真机上没有关系
3. API上的区别
模拟器上没有真机上的所有APIs,例如
- 不能接发推送
- 在访问相册,联系人,日历,备忘录时不会出现隐私提示
- UIBackgroundModes
- Handoff
并且以下framework不支持
- External Accessory
- Media Player
- Message UI
- In UIKit, the UIVideoEditorController class
4. 向后兼容性支持
模拟器iphone以及watch不支持向后兼容所有版本
你可以添加旧版本的模拟器(貌似只能添加上一版的模拟器,现在iOS9,版本最低只能添加8.1的模拟器)
在偏好设置里面的downloads里面进行模拟器的添加
5. 测试ipad mini
根据mini的类型来调整模拟器…
6. app辅助功能测试(Testing App Accessibility)
模拟器里面提供了一个Accessibility inspector ,用来检测辅助元素的信息,例如label,button(暂时感觉实用性好低…)
路径: 在setting->general->Accessibility 将Accessibility inspector 打开
用法: 点击左上角x为开关,开启状态可以点击界面元素,但此时不支持部分手势,如滑动,捏合…
更多可以查看-Verifying App Accessibility on iOS
7. 测试app本地化(Testing App Localization)
8. debug tools
- Show Animations ——> 让动画慢下来,对动画进行检查
- Graphics Quality Override ——> 设置默认的绘图精度, 选择低精度来提升旧设备的性能,比如在主界面拖拽spotlight,绘图精度高时会有一个模糊效果,但在低精度时不会
- Optimize Rendering for Window Scale ——> 选择此项时,会加快渲染速度,用于被拉伸的模拟器设备,例如ipad pro…
- Color Blended Layers color ——> 展现混合的视图层, 在视图上层各个layer层互相混合则会显示高亮红色,没混合则会现实高亮的绿色,要提升app性能,当这些item is selected请尽量减少这些红色的显示,混合视图层总是会影响列表滚动很慢…性能差
- Color Copied Images 被Core Animation复制的图片会被盖上蓝色…
- Color Misaligned Images 图片需要显示大小与实际显示像素不同则会铺上一层洋红色,当图片被缩放则会显示黄色
- Color Off Screen Rendered 大家说烂了的离屏渲染,发生离屏渲染则会被黄色覆盖