iOS开发的调试技巧
关于本文:
1、模拟器的快捷键
2、覆盖安装注意事项
3、给模拟器相册增加照片
4、模拟器中程序的数据
5、安装旧版本的模拟器
6、模拟慢网速
7、异常断点与符号断点
1、模拟器的快捷键
常用的模拟器快捷键:
Cmd + 1/2/3 可以切换模拟器的显示比例。(Xcode9.0之后的模拟器可以自由缩放)
Opt + Shift 可以在模拟其中调出双指拖动效果。
Opt 可以在模拟器上调出双指放大缩小效果。
Cmd + Shift + H 模拟器的Home键盘。(Xcode9.0之后的模拟器可以显示出Home键、音量键、电源键,可以直接使用鼠标点击相应位置就行)
Cmd + Left/Right 可以切换横竖屏。
关于快捷键还是那句话,首先知道有这个功能才是重要的,不会的百度就可以了。
2、覆盖安装注意事项
在模拟器或者真机上进行应用调试时,如果时覆盖安装(不删除应用的情况下),在开发项目时,新删除的资料文件不会马上在模拟器或者真机上被删除。如果对这块有严格的要求的话,那么就需要先删除应用,在进行应用调试。
3、给模拟器相册增加照片
渠道大概分两种:
第一种,把图片从Finder中拖动到模拟器中,模拟器会用Safari打开,然后因为Safari有长按保存到相册的功能。
第二种,就是通过模拟器自身搞定。但是最终还是用到了“保存到系统相册”这个功能。那么,可以使用Safari上网查找图片。也可以呢,自己做一个iOS软件放在模拟器上去,实现Safari一样的责任,这个软件就相当于一个媒介啦。
4、模拟器中程序的数据
路径比较长,就像下面这个样子。

没什么好去记忆的,运行模拟器的使用,打印下
NSLog(@"%@",NSHomeDirectory());
就可以找到了。
有时候做项目的时候,需要经常查看沙河内容,那就将对应的沙河文件夹制作一个替身放在桌面上,方便查看。特定的沙河文件夹由三个分支决定:特定的系统+特定的设备+特定的应用。
没有越狱的真机是获取不到应用的沙河的。
5、安装旧版本的模拟器
Xcode的设置终有一项是“Components”,可以直接在里面下载对应的版本。我在Xcode上依然能下载iOS8.1的模拟器。
当然,也可以通过下载旧版本的Xcode获得与之匹配的模拟器。
6、模拟慢网速
在模拟器上可以通过花瓶软件来模拟慢网速。
在真机上,可以使用苹果为开发者听提供的相关设置来实现,具体位置在“设置”-“开发者”-“Status”-“Network Link Conditioner”中。如果在手机设置中找不到该选项,可以尝试将手机连接到电脑,然后用Xcode的Origanizer将其设置成测试设备。
7、异常断点与符号断点
开发和调试过程中经常会使用断点,断点的使用方式很多,比如还可以对符号断点进行编辑等操作。
在断点管理界面,
Add Exception Breakpoint-----异常断点可以在程序因为异常崩溃退出前暂停,便于我们定位出错的地方。
Add Symbolic Breakpoint-----符号断点可以给指定的方法加断点,便于跟踪。
iOS开发的调试技巧的更多相关文章
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS - 开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS开发的小技巧(断点打印)
iOS开发中我们会碰到这样的需求:打印沙盒目录,打印对象信息,对象信息可以通过断点查看,有时候对象属性繁多时看起来又比较麻烦. 今天学到一个比较实用的方法: 在运行时打一个断点,当程序停在这个断点后, ...
- iOS开发 僵尸调试
本文转载至 http://blog.sina.com.cn/s/blog_a843a8850101dxin.html 引自:http://blog.csdn.net/likendsl/articl ...
- iOS 开发 NSLog调试小技巧
NSLog其实是一个非常损耗性能的东西,当你在开发了很长时间的一个项目中,想必为了方便调试,里面会有很多的NSLog输出,为了优化性能,同时又方便调试,可以在pch中定义一个宏,既可以替换原有的NSL ...
- iOS开发UI调试神器----Reveal
做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做測试.用模拟器来调试UI效果尽管快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时.近期 ...
- iOS开发Safari调试WebView页面
App混合开发现已是常态,不过作为app端开发人员,对H5页面的使用,可不能简单的局限于使用,一些简单的调试方法还是有必要了解的. 关于如何在使用webview过程中,如何对web内对内容进行调试,这 ...
- ios开发之--调试方法
概述 基本操作 全局断点 条件断点 开启僵尸对象 LLDB命令 概述 在开发项目的工程中,肯定会遇到各种各样的bug,且大多数的bug都和自己有关:那么在和bug斗智斗勇的过程中,如果能快速准确的一击 ...
- C#硬件开发业务流程调试技巧
C#硬件开发,一种是调用厂家提供的api;另一种就是通过com口,发送命令,和硬件通信.这2种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- php的分层思想
- VMware升级到15版本虚拟机黑屏的解决方法
1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点 下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...
- Tensorflow机器学习入门——读取数据
TensorFlow 中可以通过三种方式读取数据: 一.通过feed_dict传递数据: input1 = tf.placeholder(tf.float32) input2 = tf.placeho ...
- Druid数据源SQL数据库与Spring监控
Druid监控概要说明 为什么要监控? Druid是什么?德鲁伊 URL监控配置说明 配置步骤 步骤 配置 第一步 web.xml 配置 WebStatFilter 第二步 WebStatFilter ...
- beyond compare 用法
1.过滤器用法:点击小眼睛(回话-->回话设置)打开过滤器界面----设置多个过滤文件或目录直接使用回车键 2.比较时最好先设置编码以防出现乱码问题 工具-->文件格式. 3.比较时出现乱 ...
- ES6:let 与 const
在ES6中,let 用来定义变量,const 用来定义常量 事实上var可以看成是js语言设计上的错误,但是不能移除,因为需要向后兼容 于是提出了一个新的关键字let,可以将let看成更完美的var ...
- 深入学习二叉树(07)B树
问题背景 在大型的数据库存储中,实现索引查找,如果采用二叉查找树的查找的话,由于节点的存储数据是有限的,这样如果数据库很大的话,就会导致树的深度过大从而造成磁盘 IO 操作过于频繁,就会造成效率低下 ...
- [01]Binary Search二分查找
Binary Search二分查找 作用:二分查找适用于有序的的数组或列表中,如果列表及数组中有n个元素,通过二分查找查询某一元素的位置需要的步骤是log2(n)(注:该log的底数是2) 1.Pyt ...
- 二分(求l-r中的平方数)
题目描述 多次查询[l,r]范围内的完全平方数个数 定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x 输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出 ...
- MBR扇区故障修复!
一:进行分区且格式化硬盘 [root@roomc~]#mkfs -t ext4 /dev/sdb1 //格式化sdb1盘 二:模拟破坏/sda主硬盘破坏再修复! [root@roomc~]#mk ...