Xcode 是用于构建 Mac OS X 及 iOS 应用程序的完整工具集 - Xcode 4 的工具经过重新设计,它们的性能更优秀、使用更容易,能带给用户前所未有的助益。Xcode IDE 能够理解所有的工程细节,可以识别代码中的语法及逻辑错误,甚至能够帮助您修正代码中的错误。 简言之,Xcode 4 能够帮助您编写更好的代码。
Xcode 4 具有全新的用户界面,而且它赖以构建的技术也得到了充分的验证。一方面,苹果公司自身就是通过这些技术构建 Mac OS X 以及 iOS;再者,开发者利用这些技术已生产出超过 25 万个 Mac OS X 及 iOS 应用程序。
单窗口
如果是有经验的 Xcode 用户,则首先会注意到 Xcode 4 把以前执行日常开发任务的多个窗口合并成一个。Xcode 4 的工作区含有数个极具特色的 UI 元素。有了它们,操作多个不同任务,甚至多个工程就变得非常容易,再也不会把工作区弄得凌乱不堪。在使用 Xcode 4 的过程中,编辑器总是位于屏幕前方中心处。
导航器
Xcode 4 的左边是一些导航器,包括一个工程文件列表、已排序的符号、一个居中的搜索界面、正在跟踪的问题、带有可压缩栈纪录的调试数据、激活及未及激活的断点以及一些可以长期保存的日志。通过这些导航 UI 联合在一起,用户便可对工程的内容以及搜索结果进行实时过滤,这样就可以把精力集中于当前的任务。
跳转栏
编辑面板上方是路径栏,它显示当前文件的相对位置。点击路径中的某一位置就可立刻跳转到对应路径层次的其他文件。这一功能即所谓的跳转栏,当您将整个桌面用于显示编辑源代码,跳转栏可有效应用于不同文件的快速跳转。
内置的 Interface Builder
在 Xcode 4 中,Interface Builde 已彻底整合至 Xcode IDE - 不再是独立的应用程序。
选取一份工程中的界面文件(具有 .nib/.xib 后缀的文件)就能打开 Xcode 的 IB 编辑器。打开右手边的工具区,就可以看到整个界面观察器、控件库以及 UI 对象。在开发 Mac OS X 或者 iOS 应用程序的时候,您可以从控件库拖出控件, 将之放置在程序的画布上,并可设定它的位置,从而实现程序的布局。
最好的功能:您可以直接把连接从 UI 设计区域拖到源代码区域。Xcode 4 新型的分隔式编辑器布局大大简化动作和插座变量的编写。只要把连接拖到现有的代码即可-一个手势即可搞定。如果还没有编写连接所需要的代码呢?在这种情况下,Xcode 将会为您创建一个新的插座变量或动作。只要将连接拖动至源文件的空白区域,Xcode 就能生成相应代码。
Assistant
不管是编写代码还是设计界面,任何修改都不可能孤立变化。哪怕是一个最小的编辑动作,都可能在工程中产生级联效应。通常情况下,您不仅需要看到当前文件,还需要看到与之相关的文档。
Xcode 4 的双面板编辑器布局搭配上 Xcode Assistant 之后,其功能强大得让人惊讶。当您在工作的时候打开 Assistant,IDE 会预测您需要查看那些其他的文件。如果您正在编辑一个新的派生类,Assistant 将会为您显示父类代码。如果您正在编写新的实现代码,Assistant 会自动为您显示头文件。如果您正在设计一个界面,Assistant 会自动为您显示恰当的控制器,这样可以让拖放代码连接变得极其简单。如果您正在设计数据模型,Assistant 又会把一些可支持模型的类显示在您眼前 - 一切都自动进行。
Apple LLVM 编译器 2.0
Apple LLVM 是下一代编译器技术,它是 Xcode 4 如此强大的力量之源。Apple LLVM 以 LLVM.org 项目为基础,该项目是苹果的工程师领导的优秀的开源项目。此外,Apple LLVM 编译器采纳最新的思想,并针对 iPhone、 iPad 以及多核 Mac 进行优化。
Apple LLVM 执行速度很快,其编译代码的速度比 GCC 快两倍,生成应用程序运行速度也更快(相比 GCC 生成的应用程序)。整个编译器被构建成为一组高度优化的库,使用方便且易于优化,并专门针对当前最新的芯片架构进行设计。在 Xcode 4 当中,整个 Apple LLVM 编译器栈—从千对解析器到后端代码优化器—都对 C、 Objective-C 以及 C++ 有极佳的支持。
Xcode 4 的语法高亮、代码补全以及其他所有的索引驱动的功能都通过 LLVM 解析器进行处理。编译器知道的符号, Xcode IDE 都知道。它在代码编辑期间就对于 C、 Objective-C 以及 C++ 有很好的理解。其精确程度不逊于链编期编译器对它们的理解。
Fix-it 和 Live Issues
Apple LLVM 引擎会在后台不断地分析您写的代码,理解其含义。在您输入代码的时候, 编辑器新增的 Live Issues 功能可以利用引擎对代码的理解,向您报告编码错误。其工作方式与文字处理工具高亮拼写错误类似,不需要先点击 ‘build’命令,便可高亮出常见的编码错误。
自动修正错误
IDE 非常聪明,不仅能够报告错误,甚至可以修改错误。在许多情况下, Xcode 除了报告错误,还向您提供解决方案。只要点击其报告的错误,就可以看到它提供的解决办法,例如把赋值符号修改为比较操作,修正某个拼写有误的符号或者添加一个缺失的分号。只需按一个键盘快捷键就可立即修正错误,然后继续编码。
Fix-it 指 Analyze 会在您输入代码的同时执行严格检测,这是一种极其有用的功能。 Xcode 静态分析器将会遍历成千上万条代码路径,查找不具有预期行为的代码(在代码合乎语法规则的前提下),例如查找代码是否有内存分配错误,是否存在永远不会被运行的声明,是否有未正确构造的循环。
只要把 Fix-it 和 Xcode Analyze 的功能结合起来,您发现程序错误的时间将远远早于用户。
版本编辑器
通过使用 Xcode 4 的版本编辑器,在一个实时编辑器同时查看任意两个版本的源代码变得易如反掌。更重要是,版本编辑器是在 IDE 中对源代码进行控制管理的新方式,因为比较视图同时也是一条时间轴,拖动视图中间的滑动条,您就可以按时间回溯工程,比较任意两个版本的源代码。
版本编辑器也可以向您显示已发生事件的详细日志,可以对 check-in 责任进行追踪。很多复杂的 SCM 命令都由它在幕后管理,不需要您操心。它甚至可以在一个 Xcode 4 工作空间中管理多个工程(例如,它可以管理两个分别由不同版本控制系统管理的工程,一个由 Subversion 管理,另一个则由 Git 管理),并且所有的工程能够自动更新。
新调试器
Xcode 4 引入 LLDB,这是一个全新的调试引擎,由苹果公司捐献给 LLVM.org 开源项目。和 LLVM 类似,LLDB 引擎从一开始就被设计成为消耗内存非常少且具有极佳性能的应用。
新的 LLDB 调试引擎可以和 Xcode 4 的调试界面完美结合。在程序运行的时候,导航器会向您显示栈纪录。在调试的时候,您可以对栈纪录进行扩展或压缩,以此来显示或隐藏栈帧。在单步运行的时候,您甚至可以锁定某个线程,然后再点击“continue”,这样可以跟踪特定线程的执行。在 Xcode 4 里面,多核调试和具有代码块以及 Grand Central Dispatch 的多核编码同样简单。
Xcode 4 的仪器
仪器、跳转栏以及 Xcode 4 UI 中的栈压缩都具有最新式的界面。通过 Xcode4 的新启动方案,开发者很容易就能为运行在仪器中的程序创建一套健全测试装置。新的启动方案包括以“延时模式”启动仪器,不让收集数据的界面显示在屏幕上,把系统资源节省下来留给运行和计量应用程序所需。
Xcode 4 新增了一些数据收集仪器,包括用于跟踪 iPhone 图形性能的 OpenGL ES 仪器,可发现非预期内存增长的内存分配监视仪器,只需要很低消耗便可收集数据样本的 iOS 系统 Time Profiler,用于了解所有系统进程如何交互的 System Trace。
不同功能的仪器正在增多,而且它们耗费的系统资源越来越少,因而,能够带给用户前所未有的助益。