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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- Jmeter_JsonPath 提取器
1.登录老黄历 2.提取阳历的数据,不用正则表达式提取器,因为这里是字典形式,用Json path提取器更简单 3.把提取的数据放到百度里去发送请求 4. 5. 6. 7. 8. 9.
- markdown列表
Markdown 列表 Markdown 支持有序列表和无序列表. 无序列表使用星号(*).加号(+)或是减号(-)作为列表标记: * 第一项 * 第二项 * 第三项 + 第一项 + 第二项 + 第三 ...
- netty(八)buffer源码学习3
问题 : compositeByteBuf 是干什么和其他 compositeByteBuf 有何区别 内部实现 概述 compositeByteBuf 就像数据库中的视图,把几个表的字段组合在一起, ...
- 支付接口API
//微信支付SDK https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
- C语言:将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换。-删除指针p所指字符串中的所有空白字符(包括制表符,回车符,换行符)-在带头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的顺序号,
//将ss所指字符串中所有下标为奇数位上的字母转换成大写,若不是字母,则不转换. #include <stdio.h> #include <string.h> void fun ...
- rf 环境
googlechrome webdriver驱动下载 addrhttps://sites.google.com/a/chromium.org/chromedriver/downloads谷歌浏览器ap ...
- 惠普台式机,如何选择U盘启动
开机先连续点击键盘F9按键进入选择启动盘界面,找到自己的U盘(KingstonDataTraveler 3.0)
- 201771010135杨蓉庆 《面对对象程序设计(java)》第七周学习总结
学习目标 1.深入理解OO程序设计的特征:继承.多态: 2.熟练掌握Java语言中基于类.继承技术构造程序的语法知识: 3.利用继承定义类设计程序,能够设计开发含有1个主类.2个以上用户自定义类的应用 ...
- cssdiv设置高宽百分比不起作用的问题
div等元素设置宽高百分比都是基于包含他的块级对象的百分比高度,所以必须先设置包含它的块级对象高度与宽度,但是光设置body是不起作用的,必须同时设置html和body. 要使用百分比设置div宽 ...
- 吴裕雄 PYTHON 神经网络——TENSORFLOW MNIST读取数据
from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("E ...