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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- 浅谈hover用法
在前端页面制作中,我们时常要用到移动显示.隐藏的动态效果,我们一般采用js来实现此效果.不过在大部分情况下,我们也可以使用hover来实现此动态效果. 在此,我谈一谈我对hover的用法,请看以下代码 ...
- 最长公共子序列-Hdu1159
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 「luogu3380」【模板】二逼平衡树(树套树)
「luogu3380」[模板]二逼平衡树(树套树) 传送门 我写的树套树--线段树套平衡树. 线段树上的每一个节点都是一棵 \(\text{FHQ Treap}\) ,然后我们就可以根据平衡树的基本操 ...
- CSS - 引入方法
1. 外部样式表 <head> <link rel="stylesheet" type="text/css" href="style ...
- Python爬虫:urllib库的基本使用
请求网址获取网页代码 import urllib.request url = "http://www.baidu.com" response = urllib.request.ur ...
- MySQL 将字符串转换为数字
转载自:https://www.cnblogs.com/xiaoleiel/p/8316508.html 在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在 ...
- idea开发web项目${pageContext.request.contextPath}无法转义
web-app版本问题,我的web.xml中头文件的配置是: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web ...
- ES6-const定义常量
在es5中我们一般将变量名大写来表明这是一个常量,但其实它是可以修改的. 在es6中可以用const来定义常量,它定义的常量不能修改. const NAME = 'tom'; NAME ...
- 如何判断WLC的FUS版本
有些时候,我们在升级WLC的时候,被告知需要升级WLC的FUS,以防止某些漏洞和不必要的情况发生. 1.什么是FUS? Field Upgrade Software (FUS),翻译过来,叫“现场升级 ...
- idea maven项目使用过程中遇到的问题
1. Error:Cannot build Artifact :war exploded because it is included into a circular depency 参考: http ...