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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- IIS-URL重写参数
参考:https://www.cnblogs.com/gggzly/p/5960335.html URL 重写规则由以下部分组成: 模式 - 可以理解为规则,分通配符和正则匹配 条件 - 可以 ...
- Educational Codeforces Round 76 (Rated for Div. 2)E(最长上升子序列)
#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int a[200007],b[200007] ...
- ASCII码排序 题解
1. while(scanf("%c%c%c%*c",&a,&b,&c)!=EOF) 这里需要注意 输入多组语句 while后面不能加分号: 2.%*c& ...
- idea设置单行注释格式(包括配置文件)
idea中文件单行注释默认在行首位置 修改方法:进入File-->Settings-->Editor-->Code Style-->Java,修改Code Generation ...
- 浏览器 User-Agent 整理
也可以去这里查询:http://tools.jb51.net/table/useragent window.navigator.userAgent 1) Chrome Win7: Mozilla/5. ...
- Jmeter调度器小记
jmeter的调度器中[持续时间(秒)]的优先级是高于[结束时间]和[启动时间]的 举例子: 前提:[循环次数]勾选[永远] 场景1:[持续时间(秒)]设置为120S,[启动时间]设置T+1min,[ ...
- 一行代码解决 sql语句 in传入数组变字符串
--数组 var arrs= ['test1','test2','test3'];--变字符串 var instring = "'"+arrs.join("','&quo ...
- IoT协议LwM2M MQTT与CoAP
IoT协议LwM2M MQTT与CoAP 一.MQTT 1.概述: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议, ...
- Deepin-linux下的linux的终端下软件安装和卸载方法
1.方法一: sudo apt update #最好第一步是它 sudo apt install <package_name> --no-upgrade #安装该package但是不升级. ...
- hive内表和外表的创建、载入数据、区别
创建表 创建内表 create table customer( customerId int, firstName string, lastName STRING, birstDay timestam ...