我们来看看Xcode中的10个内置工具,这些工具可以更轻松地创建无错误的iOS应用程序。您最喜欢哪种工具?
用Swift / Objective-C编写的调试代码有时会很棘手,特别是对于那些刚刚开始学习iOS编程的人来说。我列出了一些用于在Xcode中调试代码的技术和工具,任何iOS开发人员都应该熟悉这些技术和工具。
Xcode是一个功能强大的IDE,隐藏了令人惊讶的高级调试工具,对于新的iOS程序员来说可能是压倒性的。我没有详细描述Xcode中的每个调试工具,因为这篇文章只是为了让您了解这些调试功能的存在。
1.查看层次结构调试器
一个非常强大的工具,为您提供了一种可视化视图和UI层次结构的方法。您可以旋转屏幕,选择任何视图,检查子项以及视图类的名称。您还可以检查自动布局约束或查找视图下方对象的内存地址。
2.高级断点
断点可用于比简单地分解方法和在特定行暂停执行以检查当前应用程序上下文复杂得多的操作。尝试编辑断点并查看各种选项。Xcode对条件断点的支持设置了每个断点停止之前的次数,并在高级断点被点击时采取特定操作,例如记录,运行shell命令,Apple脚本,甚至播放声音。非常有用,特别是在调试多线程环境或被调用很多次的方法时( layoutSubviews例如)。
3.通用断点
如下图所示,您可以使用通用断点在异常被抛出或测试用例失败之前暂停应用程序的执行。这是一种非常强大的调试技术。查看Apple的每个文档,了解有关这些通用断点的更多详细信息。
4. Debug Navigator
Xcode中的调试导航器有一套有效的调试工具。除了显示当前应用实例使用的内存,网络,CPU和磁盘的数量外,它还有一个交互式调用堆栈导航器,列出了当前在应用程序沙箱中运行的所有线程和大型中央调度队列,以及它们当前的调用堆。您可以单击每个方法的签名,并在执行的每个步骤检查对象图和应用程序状态上下文。这对于调试代码以及增加大型代码库非常有用,因为它可以准确显示所有方法的调用位置和顺序。惊人!
5.位置模拟器
在“调试视图层次结构”按钮旁边,有一个“模拟位置”功能,可以让您模拟要测试应用的任何位置。这对于确保您的应用在任何位置正常运行非常有用。
6.调试慢动画
这更像是一个iOS模拟器调试技巧,但它在调试动画时对iOS应用程序非常有效。它的名字暗示:减慢UI动画的执行速度,以便用肉眼检查它们。通过这种方式,您可以注意到动画中的任何故障,并且您将能够找到它们何时以及为何容易发生。
7.颜色混合层
如果您正在调试iOS移动应用程序的布局性能,则应在模拟器上打开“颜色混合层”选项。此功能将以红色突出显示UI布局区域需要花费大量时间进行渲染,从而影响性能。模糊效果或不明显的不透明度设置等因素可能会影响应用的效果。理想情况下,所有突出显示的图层在整个屏幕上都应为绿色。
8.快速查看
快速查看按钮将允许您在命中断点时可视化类的选定内存中实例。这对于不同的类来说意味着不同的东西。例如,您可以查看存储在UIImage对象中的真实图像 (如下图所示)。查看Apple的文档,以全面了解 Quick Look 调试工具。
9.模拟后台提取
位于Xcode - > Debug - > Simulator Background Fetch下,此工具在调试使用后台获取API的iOS应用程序时非常强大,从而可以手动触发通过操作系统执行此操作的操作,生产环境。
10. LLDB高级调试
这是一种完整的命令语言,为经验丰富的开发人员提供了出色的调试体验。您基本上可以直接在当前应用程序的沙箱中存在的对象上运行复杂命令。查看 Apple 关于LLDB 的文档。我强烈推荐使用 Facebook的Chisel,这是一个由Facebook构建的丰富的开源LLDB命令集。