历时数周或数月开发出来了应用或游戏,可为什么体验不流畅?怎么能查出其中的纰漏?这些需要调试诊断工具从旁协助。调试是开发过程中必不可少的重要一环。本文会列举几个比较有效的调试诊断工具,可以帮助你寻根究底,以最快的速度发现、解决Bug。
这是一家专注于API工具开发的公司,其创始人John Sheehan曾就职于IFTTT和Twilio。Runscope是一款集调试、测试于一身的网络服务,而且支持Ruby、Java、C#等多种语言。它可以捕捉请求,支持包括AFNetworking、HTTParty以及其他公共API的请求。
Runscope监控API请求
Cocoa LumberJack是一个功能强大的NSlog,是通用的Cocoa日志框架之一。它可以提供更高级的log功能,比如记录log至文件或网络,并可根据log的级别(info、debug、warn、error)进行筛选。众所周知,NSlog虽然功能强大,但却普遍存在不支持分级别log、仅支持本地打印的问题,而且在大量处理log时,会降低程序运行效率。而Cocoa LumberJack则不存在这样的制约。
SimPholders是一个快速简单的小工具,可以帮助开发者快速访问iPhone模拟器应用。它可以访问模拟器的文件夹,重置库和文件,以及删除选定的应用程序。
DCIntrospect是一个UI布局调试库。利用它,你可以看到UI界面中每个元素的精确尺寸,还可水平或垂直拖动视图元素。与其相似的工具还有Spark Inspector和Revealapp,我们稍后也会介绍。
Pony Debugger是由美国著名移动支付公司Square的iOS开发团队针对iOS开发的网络调试工具,它的名字来源于Square的Objective-C网络库PonyExpress。开发者可以利用它来调试应用的网络流量,并可以对应用的核心数据进行远程调试。通过注册管理对象,开发者可以浏览所有的实体、属性,利用Chrome的IndexedDB进行数据关系查询。
Spark Inspector是一个UI界面调试工具,可利用3D形式展示视图元素,帮助你进行实时调试。同时,它还支持通知监视器,可以显示每个NSNotification、完整的堆栈跟踪信息、调用方法列表等。这个工具不是免费的,需要支付大约260元购买。不过,如果你感兴趣,官网还提供30天的免费试用版。
Revealapp可以让你以2D或3D的形式查看应用运行时的视图图层,快速调试视图层级和渲染问题。有时,应用的视图层级可能非常多,在Revealapp中,只需要双击视图界面,就可以将其拆分,便于浏览每个子视图。目前这款工具仍为Beta版,如果你感兴趣,不妨试试。
iOS开发者必备:五大编程类工具
1. CodeRunner
CodeRunner是一款轻量级,可以编写和运行多种语言的编辑器,它不需要安装额外的语言环境就可以执行多种语言代码。如果开发者想要测试一段代码或者一个API具体的功能,用Xcode未免过于麻烦,而CodeRunner却恰巧弥补了Xcode在这方面的欠缺。开发者只需要在CodeRunner中编写一个短小的代码片段,即可测试代码和API的具体功能。
此外,CodeRunner能加快开发者的编程速度,所以开发者可以在很短的时间内完成代码编写工作,通过CodeRunner测试无误后,就可以把它拷贝回Xcode的项目中,极大地提高了开发者的工作效率。
CodeRunner的主要功能:
支持多种语言:CodeRunner默认支持AppleScript、C、C++、Java、JavaScript(Node.js)、Lua、Objective-C、Perl、PHP、Python、Ruby和Shell等多种语言
自定义模块:无需写出完整代码即可快速的测试和执行代码片段和API。
强大的的代码编写能力:CodeRunner具有自动补全、句法高亮、多标签页、自定义主题等功能。
主要特性:
- 内置控制台
- 支持Retina显示
- 支持运行各种类型代码
- 完全编码支持,自定义运行编译器
2. AppCode
AppCode是全新的Objective-C的IDE集成开发环境,旨在帮助开发者开发Mac OS X和iOS系统的相关应用程序。
AppCode主要功能:
代码补全:AppCode的代码补全并不局限于类、方法或者变量,它甚至还具备了十分可靠的上下文推测能力,假如开发者编写一个从未出现过的变量,AppCode都会询问是否要添加这个变量。这样开发者将有机会避免一些可能无意义的来回跳转,而更加专注于有效代码的编写。
代码检查和修改:AppCode的代码分析是实时进行的,在编写代码的过程中,开发者就能看到存在的问题。另外,AppCode提供了高度可定制的代码风格模版,并可以很简单地将其套用到任何代码上。这样,不论开发者写多少代码,最后产生的代码都是漂亮优雅的。
快速跳转:Xcode的最大问题就是难以定位文件和类,想要寻找一个文件的话,基本上不可能完全用键盘来实现。但是AppCode中添加了高效的导航功能,配合类似于微博的特定符号的搜索,可以完成从文件到类的快速跳转,避免了可能出现的鼠标操作,提高了开发者的工作效率。
AppCode的不足: AppCode同样也有一些不足之处。AppCode在某些情况下需要依赖Xcode,它没有集成Nib编辑器,在打开Nib文件时会自动去开Xcode,Instrument工具也要调用Xcode。
主要特性:
- 完整的Xcode的兼容性
- 即时的代码转换,支持i18n
- 及时的代码分析、搜索、转换功能
- 可直接在iOS设备和模拟器上运行
3. Chocolat
Chocolat是Mac系统上最新出现的一款强大的文本编辑器,支持vim模式、多种编程语言、窗口分割、标签页、色彩主题等功能。另外Chocolat具有实时的代码检错功能,它可以在编写代码时检查代码的正确性(目前只支持Ruby、Python、PHP和JavaScript)。
主要特性:
- 关键词高亮显示
- 兼具了Cocoa强大的文本编辑功能
4. <a href="http://mneorr.github.io/Alcatraz/"
Alcatraz是一个开源的Xcode管理器,可让你更快捷地发现和安装插件、模版和颜色方案。只需要简单地点击或者勾选,而无需手工克隆或拷贝文件。
5. Mou
对于熟悉Markdown的人来说,Mou是一款不错的文本编辑器(Mac平台)。相比同类型产品,Mou 在功能性和易用性上都有众多特色,在其简单的界面之后,不仅拥有自定义样式、增量搜索、中文字体“漂移”优化,还支持终端命令行启动、内容发布、竖版文字布局,甚至还可以作为任务列表使用,其Markdown双栏布局的实时预览和同步滚动功能更是被众多应用借鉴和采用。
Mou的开发者——罗晨,一个中国开发者可以在国外流行的标准之上做出一款更加优秀的产品,特别是考虑到其并非科班出身,这无疑更加给了国内众多“野生程序员”们莫大的动力。
Mou的主要功能:
实用的代码编写:Mou为开发者提供一系列的快速输入Markdown既定语法元素,减少了开发者在编写代码上所消耗的时间。
实时的代码修正:开发者在Mou的左栏写Markdown代码,右侧就能实时显示输出效果,从而能实时地为开发者检查代码的正确性。
主要特性:
- 支持多种配色的主题
- 支持字数统计和文档体积统计
- 支持导出HTML或PDF文件
- 支持中文字体与符号
iOS开发者必备:六大图片、图标处理类工具
人们常常将简约等同于极简主义。但是,真正的简约远不止删除矫饰和去除杂乱那么简单。而是按你的需要,因时、因地恰到好处地展现每一方面。iOS 7设计时,围绕iOS中深受人们喜爱的元素,打造了一种更加简单实用而又妙趣横生的用户体验,优化了iOS的工作方式,并以此为基础重新设计了iOS 7的外观。iOS每次改变,总会掀起开发和设计界的热潮。在本文中,CSDN为广大的iOS设计师整理了6款简约而不简单的图像和图标处理工具。
1. Slicy
Slicy是MacRabbit公司的跨世纪经典之作,可谓是iOS设计师必备一款的切图神器,旨在帮助设计师解决在切图上的烦恼。Slicy操作十分简单,设计师只要把PSD文件拖进Slicy的窗口,Slicy就会自动生成.jpg和.png等格式的切图文件,除此之外,Slicy还能够把普通像素的图片转换成视网膜像素的高品质图片。
主要特性:
- 精美的Web和应用的图标设计
- 导出文件与原PSD文件保持99%真实度
2. Prepo
Prepo基于Mac和iOS的一款免费且方便的图标转化器,它可以帮助设计师快速的导出各种尺寸的图标。设计师通过Prepo把任何格式的图片文件转换成iOS可用的图片格式。此外,通过点击Prepo对话框底部“copy plist”按钮,设计师可以轻松的把导出的文件复制到Xcode中,节省了设计师大量的工作时间。
主要特性:
- 调节图像大小、转换图片格式
- 批量的处理@2x作品
- 自动的转换和重命名