Xcode 运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发。Xcode是开发 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
Xcode同时也是一种语言,作为一种基于XML的语言,Xcode可以设想各种使用场景。它提供了一种独立于工具的可扩展的方法来描述编译时组件的各个方面。[1]
发展沿革
Xcode前身是继承自NeXT的Project Builder。
The Xcode suite 包含有GNU Compiler Collection自由软件 (GCC、 apple-darwin9-gcc-4.0.1 以及 apple-darwin9-gcc-4.2.1, 默认的是第一个),并支持 C语言、C++、Fortran、Objective-C、Objective-C++、Java、AppleScript、Python以及Ruby,还提供Cocoa、Carbon以及Java等编程模式。协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C#, Perl, Haskell 和 D语言。Xcode套件使用 GDB作为其后台调试工具。
从Xcode 3.1开始,Xcode也可被用为iPhone OS的开发环境。
Xcode 4.0于2011年3月9日正式发行。该版本非Apple开发者注册会员亦能从Mac App Store中付费下载, 收取US$4.99的费用。
从Xcode 4.1开始,针对OS X 10.6及OS X 10.7用户从Mac App Store免费下载
Xcode主要版本是Xcode 5,支持iOS7,可以在Mac App Store免费下载,亦可在iOS开发者计划网站下载。
Xcode6整合了苹果在WWDC大会上发布的新语言Swift1.0版本。
2015年9月16日,苹果在开发者官网发布Xcode7正式版,将Swift语言升级到2.0版本,并 根据斯诺登提供的资料,美国政府研究人员创建了一个版本的苹果软件应用开发工具Xcode,希望借此将监控后门植入到通过苹果应用商店App Store发布的应用程序中。
2023年3月31日,苹果公司发布Xcode 14.3版本更新,其中包含Swift 5.8版本,以及适用于iOS/iPadOS 16.4的SDK。[2]苹果发布了Xcode 14.3.1版本更新,修复了在iOS 13目标设备上的开发问题。[3]
文件转移
因为 Xcode 支持 CodeWarrior 风格相关项目参考,所以可以保证把 CodeWarrior 项目文件快速方便地转移到 Xcode。因为 Xcode 兼容 CodeWarrior 风格在线编码汇编,所以从 CodeWarrior 到 Xcode 转变的消耗得到降低, 也使得开发人员手动调整应用程序的临界性能部分。苹果电脑公司的 Mac OS X 综合开发环境Xcode 为各种类型的 Mac OS X软件项目提供项目编辑、搜索和浏览,文件编辑,项目构建和调试设备等功能。
辅助开发
Xcode 可用来辅助开发应用程序、工具、架构、数据库、嵌入包、核心扩展和设备驱动程序。Xcode 支持开发人员使用 C、 C++、Objective C、 AppleScript 和 Java。
协作运行
Xcode 能够和 Mac OS X 里众多其它的工具协作,例如综合用户界面结构应用程序;编译器如 gcc、javac 和jikes;还有调试工具如 gdb。
另外,你可以用 AppleScript Studio 组增加一个 Aqua 界面到系统和应用程序脚本、命令行工具、以及网络应用程序中。以上三者无论如何都能在任何平台组合成最强大的脚本环境。
海量内存
Xcode 将赋予你创建诸如计算和渲染引擎应用程序的能力,这些应用程序使用64位内存定址。这非常适合数据集中的应用程序,其通过访问内存中的数据运行速度更快,远胜于磁盘访问。Xcode 将为你提供工具来建立并调试适合 Intel Core i5, i7 和 Mac OS X Lion 的 32 或 64 位应用程序,还可以让你创建包含32位和64位执行能力的 Fat Binaries。
自由撤销
Xcode 4 虚拟模型和设计功能让你可以更轻松地开发和维护应用程序。只需选择应用程序中想要编写的部分,然后模型和设计系统将自动创建分类图表,不仅可以显示编码,还可以让你进行浏览。Mac OS X Core Data API 帮你的应用程序创建数据结构。更棒的是,它还自动提供撤消、重做和保存功能,无需编写任何编码。
版本介绍
Xcode 1.0 - Xcode 2.x (before iOS support)
Version history--VersionRuns on versions ofOS XOS X SDK(s)1.0OS X Panther(10.3.x)OS X Puma(10.1.x),OS X Jaguar(10.2.x), andOS X Panther(10.3.x)1.11.21.52.0OS X Tiger(10.4.x)OS X Jaguar(10.2.x),OS X Panther(10.3.x), andOS X Tiger(10.4.x)2.12.22.2.12.32.42.4.12.5OS X Tiger(10.4.x) andOS X Leopard(10.5.x)VersionRuns on versions of OS XOS X SDK(s)
Xcode 3.0 - Xcode 4.x
Version history----VersionminOS Xto runOS X SDK(s)iOS SDK(s) includedMin iOS Deployment Target3.010.5.xOS X Panther(10.3.x),OS X Tiger(10.4.x), andOS X Leopard(10.5.x)iOS 2.x + each down toiOS 2.0iOS 2.03.13.1.13.1.23.1.310.5.7iOS 3.1.3 (7E18) or lower+ each down toiOS 2.03.1.43.210.6.0OS XTiger(10.4.x),OS X Leopard(10.5.x), andOS X Snow Leopard(10.6.x)3.2.13.2.210.6.2iOS 3.2 (7B367) + each down to iOS 3.0iOS 3.03.2.310.6.4iOS 4.0.x+iOS 3.23.2.4iOS 4.1 +iOS 3.23.2.5iOS 4.2 (8C134)3.2.610.6.6iOS 4.3 (8F190)4.0OS XSnowLeopard(10.6.x)4.0.14.0.2iOS 4.3.2 (8H7)4.110.6.7and 10.7OS X SnowLeopard(10.6.x) andOS XLion(10.7.x)4.1.14.2iOS 5.0 (9A334)4.2.110.74.310.7.34.3.1iOS 5.1 (9B176)4.3.24.3.34.410.7.4OS X Lion(10.7.x)andOS XMountainLion(10.8.x)4.4.14.5iOS 6.0 (10A403)iOS4.34.5.14.5.24.6iOS 6.1 (10B141)4.6.14.6.24.6.3VersionminOS Xto runOS X SDK(s)iOS SDK(s) includedMin iOS Deployment Target
Xcode 5.0 - 6.x (since arm64 support)
Version history----VersionminOS Xto runOS X SDK(s)iOS SDK(s) includeddownloadable iOS Simulators5.010.8.4OS X v10.8iOS 7.0 (11A465)iOS 6.1 + iOS 6.0 + only for OS X 10.8:iOS 5.1 + iOS 5.05.0.1OS X v10.8+OS X v10.9iOS 7.0.3 (11B508)5.0.25.1iOS 7.1 (11D167)iOS 7.0 + iOS 6.15.1.1iOS 6.16.0.110.9.4OS X v10.9iOS 8.0 (12A365)iOS 7.1 + only for OS X 10.9iOS 7.06.1OS X v10.9+OS X v10.10iOS 8.1 (12B411)6.1.16.2iOS 8.2 (12D508)iOS 8.1 + iOS 7.16.310.10OS X v10.10iOS 8.3 (12F69)iOS 8.2 + iOS 8.1 + iOS 7.16.3.16.3.26.4iOS 8.4 (12H141)iOS 8.3 + iOS 8.2 + iOS 8.1 + iOS 7.1VersionminOS Xto runOS X SDK(s)iOS SDK(s) includeddownloadable iOS Simulators
Xcode 7.0 - 7.x (since Swift 2.0 support)
Version history-----VersionminOS Xto runOS X SDK(s)iOS SDK(s) includedother SDK(s) includeddownloadable iOS Simulators7.010.10.4OS X v10.11iOS 9(13A340)watchOS2iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.17.1 beta 2iOS 9.1 beta (13B5119e)watchOS2;tvOSbetaVersionminOS Xto runOS X SDK(s)iOS SDK(s) includedother SDK(s) includeddownloadable iOS Simulators
应用
Xcode运行于苹果公司的Mac操作系统下,是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X,iOS的应用程序。
不管你用C、C++、Objective-C或Java编写程序,在AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。
苹果公司为用户提供了全套免费的Cocoa程序开发工具(Xcode),和Mac OS X一起发行,在苹果公司官方的网站下载。
发售日期
1.0: 2003年
1.5: 2004年8月
2.0: 2005年4月29日
2.1: 2005年6月6日
2.2: 2005年11月10日
2.2.1: 2006年1月10日
2.3: 2006年5月23日
2.4: 2006年8月7日
2.4.1: 2006年11月1日
2.5: 2007年10月31日
3.0: 2007年10月26日
3.1: 2008年7月11日
3.1.1: 2008年9月12日
3.1.2: 2008年11月24日
3.1.3: 2009年6月17日
3.2: 2009年8月28日
3.2.4: 2010年9月10日
4.0: 2011年3月9日
4.1: 2011年7月20日
4.3: 2011年11月29日
4.4: 2012年07月26日
4.4.1: 2012年08月08日
4.5:2012年9月20日
4.5.1:2012年10月5日
4.5.2:2012年11月01日
4.6:2013年1月30日(和iOS6.1同步)
4.6.1:2013年3月17日
4.6.2: 2013年4月16日
4.6.3:2013年6月14日
5.0: 2013年9月18日
5.0.2:2013年11月11日
6.2:2015年3月10日
编译器
Xcode3所使用的编译器是gcc编译器,而在Xcode4之后和版本中,Xcode所使用的编译器已经替换成为新的LLVM编译器。LLVM编译器的前端是clang。
Xcode 4 的核心部分是苹果电脑公司下一代业界标准的 gcc编译器gcc 4.0。新的编译器利用许多先进的最优化技术帮你从现存编码中获得更多性能。从超级计算世界借鉴来的自动向量化(Auto-vectorization)技术可以帮助你释放每台 Intel 系统中速度引擎的能量,而不需要编写向量化编码。其他的最优化工具则支持反馈定向的最优化,以及隐藏模块分析。
文件
CMD + N: 新文件; CMD + SHIFT + N: 新项目; CMD + O: 打开;
CMD + S: 保存; CMD + SHIFT + S: 另存为;
CMD + W: 关闭窗口; CMD + SHIFT + W: 关闭文件
编辑
CMD + [: 左缩进;CMD + ]: 右缩进;
CMD + CTRL + LEFT: 折叠;CMD + CTRL + RIGHT: 取消折叠;
CMD + CTRL + TOP: 折叠全部函数;CMD + CTRL + BOTTOM: 取消全部函数折叠;
CTRL + U: 取消全部折叠;
CMD + D: 添加书签; CMD + /: 注释或取消注释;
CTRL + .: 参数提示; ESC: 自动提示列表
调试
CMD + \: 设置或取消断点;
CMD + OPT + \: 允许或禁用当前断点;
CMD + OPT + B: 查看全部断点;
CMD + RETURN: 编译并运行(根据设置决定是否启用断点);
CMD + R: 编译并运行(不触发断点);
CMD + Y: 编译并调试(触发断点);
CMD + SHIFT + RETURN: 终止运行或调试;
CMD + B: 编译;
CMD + SHIFT + K: 清理;
构建
众所周知,在构建中引进多种处理器可以提高速度,Xcode 能帮你实现这个明显的结论。利用支持 Rendezvous 的分布式构建功能,可以轻易地把编译工作量分散到闲置的电脑上来寄放构建,或者更好是在单独的电脑上开发一个专门的 Xserve 构建寄放区,快速处理那些耗时的任务。
Java
Xcode 4 拥有众多功能,为 Java 开发人员赋予了更多的开发能力。利用改进的 Code Sense 索引及 Ant 项目模板,Java 用户可以继续使用他们的标准 Java 包,并构建具有 Xcode 关键生产功能的工具。Java 代码填充为你提供类别名、方法、变量及其他关键信息。在 Xcode 中创建 Java应用程序比以往更容易。
远程调试
调试全屏幕应用程序(比如游戏)具有很大的挑战性。将调试窗口放在什么位置呢?有了 Xcode 2.0 的绘图远程调试,所有强大的 Xcode 调试功能(例如数据格式程序、Fix、Continue)都可以在远程机器上用来调试应用程序。利用与远程调试阶段的加密连接,Xcode 可以保证你的数据安全。
参考资料库
Xcode 整合的 Apple Reference Library 为所有的Apple开发者文件提供一个单独的搜索和显示界面,这些文件包括来自苹果电脑公司网站的在线文件,以及存放在你电脑上的文件。新的参考资料库甚至可以帮你将定期更新资料下载到你的电脑,保持文件的最新状态。Xcode 将帮你快速找到最新的答案。
参考资料 3
- An Extensible Component Description Languag — en.cnki.com.cn
- 苹果发布Xcode 14.3更新:含iOS/iPadOS 16.4 SDK — 今日头条-IT之家
- 苹果发布Xcode 14.3.1更新:Swift升至5.8.1 — 今日头条-IT之家