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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- 脚本中的random几率问题详解
random解释: 没有固定数值,随即给的意思,数值越大就几率越低,跟爆率也不多,如下脚本,所有都抽不到的话,就会执行最后面没有检测条件的那个. [@main] #if random 10 #ac ...
- 四种常见的数据结构、LinkedList、Set集合、Collection、Map总结
四种常见的数据结构: 1.堆栈结构: 先进后出的特点.(就像弹夹一样,先进去的在后进去的低下.) 2.队列结构: 先进先出的特点.(就像安检一样,先进去的先出来 ...
- php之新的开始---php的相关及其环境搭建
写在前面:首先,感谢“奇矩”给的这次机会,不论结果如何,我都会尽我最大的努力! 在今晚之前,如果说,我与php的接触是停留在知道的阶段,那今晚过后,我想我算是认识了php.php作为一门编程语言,已经 ...
- hexo 搭建静态博客 + Next 主题配置
参考手册 HEXO:https://hexo.io/zh-cn/ NEXT:http://theme-next.iissnan.com/ 安装hexo npm install hexo-cli -g ...
- WinForm开发(2)——DataGridView控件(2)——C# dataGridview控件,怎么获取行数
dataGridView1.Rows.Count;//所有行数dataGridView1.RowCount;//可见行数
- java课极限测试
在临近国庆的9月30号补课日 碰到了惨绝人寰的java课极限测试 我从下午两点半做到晚上九点 不得不说人在烦躁的时候是真的没办法写代码的 根本不想思考也不想学习.最后的几个小时基本就是在叹息和坐着.也 ...
- JavaWeb项目用浏览器打开网页出现Session Error提示的解决办法
找到web.xml配置的原始配置的位置: <servlet> <servlet-name>dwr-invoker</servlet-name> <servle ...
- leetcode 0207
目录 ✅ 561. 数组拆分 I ✅ 1025. 除数博弈 聪明的数学归纳法: 动态规划又来了(没理解,todo 0207): ✅ 557. 反转字符串中的单词 III py 中的 字符 split ...
- Mac 系统上有趣的插件
1.微信小助手:https://github.com/TKkk-iOSer/WeChatPlugin-MacOS 作用:开启消息撤回拦截,设置自动回复,远程登录Mac,微信多开,免认证登录.... 2 ...
- 洛谷 CF804B Minimum number of steps
嗯... 题目链接:https://www.luogu.org/problemnew/show/CF804B 这道题没有什么技巧,只是一道找规律的题. 首先看到“ab”可以换成“bba”,所以首先要确 ...