Xcode修改模拟器Simulator版本

我们一个最近上线的项目,通过友盟统计里的错误分析工具,查看到有一个bug在刚上线的一个星期里出现次数仅有两次,通过错误定位,也没发现代码有什么问题,我自己试图在真机和模拟器上测试试图复现问题,却没有出现,测试人员在之前的测试中也没出现该问题,就比较纳闷。

错误信息.png

通过友盟看到出现问题的设备是iPhone6,iOS8.1.2,影响用户数1人。而测试用的真机和模拟器都是iOS10以上的版本,就自己猜想是不是手机系统的版本问题引起的,然后试图在iOS8上测试一下,发现目前使用的Xcode8上模拟器的版本是iOS10.2,在公司里也没找到低于iOS10版本的真机了,所以只能想办法从模拟器上着手了。下面就具体介绍新增模拟器版本了。

从Xcode菜单栏里打开Xcode -> Preferences -> Components -> Simulators,下载对应版本的模拟器。

Xcode8下载模拟器版本.png

由于模拟器相关文件较大,下载时间较长,需要耐心等待,下载完成后,对应版本的模拟器前面的下载按钮就会变成下载完成的样式。

Xcode模拟器iOS8.1下载完成.png

点击Xcode菜单栏 Window -> Devices,然后可以看到设备列表,然而在模拟器列表(SIMULATORS)下,没有看到iOS8.1版本的模拟器。

添加目标模拟器.png
选择目标模拟器设备和版本.png

那就点击左下角的加号,添加模拟器,先选择模拟器设备(Device Type),然后选择系统版本(OS Version),再给模拟器命个名,点击Create,就新增成功了,模拟器列表里就有了刚才新增的模拟器。

目标模拟器添加完成.png

新增目标模拟器完成后,需要关掉Xcode重启一下,然后打开你的项目,选择你新增的目标模拟器,就可以在你的目标模拟器上运行了。

选择在目标模拟器上运行.png
运行在目标模拟器上.png

ps:通过在目标模拟器上的测试,问题复现了,后来查出来的问题是粗心地把一个model的一个NSString属性设置成assign属性了【被assign修饰的ObjC对象释放后,指针还是指向释放前的内存,在后续操作中可能会导致内存问题引发崩溃。】,但是也不知道为什么在iOS10上这个问题没有被发现,在iOS8上却被发现,明天研究一下。正如我这种情况,有时候出现可能是由于版本原因引起的问题,又没有对应版本的真机时,不妨通过这种方法,修改模拟器版本试一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,589评论 0 12
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,283评论 4 61
  • 十二岁的时候,以为世界都是自己的,要做的不过是选择而已,像吴京战狼里面说的“老子天下第一”。和班级里前排的矮个子吵...
    ZeiHa阅读 381评论 4 8
  • 花生是一种非常常见的食材,既可以当做零食,也可以当做调料或者煲汤。经常吃花生不仅可以控制食欲,还能降低胆固醇,预防...
    清風长春阅读 520评论 0 0
  • 1.MOOC课《营销学原理》 1小时! 2.写文章 1.5小时! 3.锻炼第一天! *今天看到一句话,觉得写的挺好...
    橘子侠阅读 178评论 0 1