Xcode8.3 添加iOS10.3以下旧版本模拟器
问题起源
由于手边项目需要适配到iOS7, 但是手边的测试机都被更新到最新版本,所以有些潜在的bug,更不发现不了。最近就是有个用户提出一个bug,而且是致命的,app直接闪退。app闪退,最常见的无非就是数组越界,nil问题(比如字典的key使用了nil,调用了一个不存在的方法)。真机iOS10测试没问题,用自己的手机iOS9测试没有问题。此时此刻,问题大致也就猜出来了,再加上听说是个6plus设备,最大可能就是,之前开发时适配意识不太强,调用了一个iOS9以后才可用的方法。后来看了一下Bugly日志,果然不出所料,iPhone6 plus iOS8.3的一台设备有崩溃信息。
看来真的是在iOS8.3调用了一个iOS9才可用的方法,解决方法就是适配,加判断了。但是又需要测试,不得已才要去下载旧版本模拟器。
笨而省事的方法
直接在Xcode中Download simulators,但是此方法唯一的缺点就是,慢,忒慢。没有耐心的你可能不太适合这种方法,而且还有可能下载失败。
改进办法
直接使用迅雷等下载工具下载,然后手动稍作处理,快速安装
执行步骤
1.打开Xcode模拟器下载页,打开控制台(console)。
2.在Xcode点击想要下载的旧版本,然后在控制台清空一下日志,然后再到Xcode取消下载,日志中会拦截出下载的地址
3.复制链接迅雷下载,等待下载完成。
4.找到该路径 /Users/super(你电脑用户名)/Library/Caches/com.apple.dt.Xcode
5.com.apple.dt.Xcode文件-->显示包内容,把下载好的文件直接拖拽到此。
6.再次打开Xcode模拟器下载页面,找到刚才对应的旧版本,再次点击下载。由于之前下载好了,所以此时只剩下Xcode对下载好的文件做后续操作,所以很快完成。
7.Finished!Congratulations!
Xcode8.3 添加iOS10.3以下旧版本模拟器的更多相关文章
- Xcode9.2 添加iOS11.2以下旧版本模拟器
问题起源 由于手边项目需要适配到iOS7, 但是手边的测试机都被更新到最新版本,所以有些潜在的bug,更不发现不了.最近就是有个用户提出一个bug,而且是致命的,app直接闪退.app闪退,最常见的无 ...
- 旧版本firefox添加扩展addons的地址
不要在 firefox 本身的addons 中去查找, 搜索, 那个是搜索不到的, 因为那个是针对 最新版的, 旧版本的很多插件都不能用, 被移除了, 要在 那个专门 提供 插件的站点中去寻找扩展 h ...
- ActiveReports 6:如何升级旧版本的项目
如果现在的项目使用的是ActiveReports for .NET 3.0,那么有两种升级方式: 一是使用ActiveReports 6.0附带的转换工具(参见下面"升级ActiveRepo ...
- 利用 Charles Proxy 下载旧版本 iOS App
一.软件准备 1.旧版本 iTunes1.IPSW Downloads:https://ipsw.me/2.百度网盘链接: https://pan.baidu.com/s/1PO9Z12o-rqZ_J ...
- CxGrid筛选自动添加百分号和默认旧的滚动条样式
CxGrid筛选自动添加百分号和默认旧的滚动条样式 2018-10-29 Delphi 约 693 字 预计阅读 2 分钟 文章目录 cxGrid支持使用like过滤时自动添加百分号 DevExpr ...
- windows 下升级安装mysql8,与旧版本5.6共存
应开发需求,自mysql5.7开始引入json列类型和相关函数.为了提高数据读写的访问效率因此把数据库从mysql 5.6版升级到最新发行版 mysql 8.0.11 . 特此记录下多版本升级共存的过 ...
- 一个diff工具,用于判断两个目录下所有的改动(比较新旧版本文件夹)
需求: 编写一个diff工具,用于判断两个目录下所有的改动 详细介绍: 有A和B两个目录,目录所在位置及层级均不确定 需要以B为基准找出两个目录中所有有改动的文件(文件或内容增加.修改.删除),将有改 ...
- IOS如何下载旧版本应用APP
前言 文章相对来说比较复杂,特别是查找版本ID对应的步骤,这里推荐使用另一种方案,操作起来更简单. 本文介绍如何使用Workflow及Fiddler下载IOS旧版本APP应用. 实现原理 通过Work ...
- vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)
最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...
随机推荐
- Angular企业级开发(8)-控制器的作用域
scope概念 scope(作用域)是视图和控制器之间的桥梁,scope本身是一个对象,有方法和属性.scope可以应用在视图和控制器上. scope简单示例 <!DOCTYPE html> ...
- C#的数据类型、数据类型的转化
一.c#有15个预定义类型,其中13个是值类型,两个是引用类型(string 和 object)这里主要说明整型.浮点型.布尔型以及引用型 1.整型数据 2.浮点型 浮点型从精度有低到高有float. ...
- <c>----<choose><when><otherwise>
<c:choose> <c:when test="${username== '1' && password== '2'}"> <jsp ...
- Struts2框架(5)---result结果集
result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执 ...
- wemall app商城源码Android短信监听接收器
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中 ...
- 3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵
3406: [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 8 ...
- 1726: [Usaco2006 Nov]Roadblocks第二短路
1726: [Usaco2006 Nov]Roadblocks第二短路 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 835 Solved: 398[S ...
- 获取手机 id 与 ip
//id #import <AdSupport/AdSupport.h> //ip #include <ifaddrs.h> #include <arpa/inet.h& ...
- JavaWeb之Servlet总结
今天上班居然迟到了,昨天失眠了,看完吐槽大会实在不知道做些什么,刚好朋友给我发了两个JavaWeb的练习项目,自己就又研究了下,三四点才睡,可能周日白天睡的太多了,早上醒来已经九点多了,立马刷牙洗脸头 ...
- JavaGUI版本销售管理系统
不知不觉中,本科阶段已经走过两个年头,诸多感慨,诸多向往,周遭的人和事物在不断的改变着,自己的目标也在不断改变,总之,世界一直在快速的发生着变化,快到我们无法捕捉,总的来说,过得很潇洒,就等考上研究生 ...