xcode

集成開發工具

Xcode 運行在操作系統Mac OS X上的集成開發工具(IDE),由Apple Inc開發。Xcode是開發 macOS 和 iOS 應用程序的最快捷的方式。Xcode 具有統一的用戶界面設計,編碼、測試、調試都在一個簡單的窗口內完成。

徠Xcode同時也是一種語言,作為一種基於XML的語言,Xcode可以設想各種使用場景。它提供了一種獨立於工具的可擴展的方法來描述編譯時組件的各個方面。

發展沿革


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
Xcode主要版本是Xcode 5,支持iOS7,可以在Mac App Store免費下載,亦可在iOS開發者計劃網站下載。
Xcode6整合了蘋果在WWDC大會上發布的新語言Swift1.0版本。
2015年9月16日,蘋果在開發者官網發布Xcode7正式版,將Swift語言升級到2.0版本,並 根據斯諾登提供的資料,美國政府研究人員創建了一個版本的蘋果軟體應用開發工具Xcode,希望藉此將監控後門植入到通過蘋果應用商店App Store發布的應用程序中。

主要功能


文件轉移

xcode
xcode
因為 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.1
1.2
1.5
2.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.1
2.2
2.2.1
2.3
2.4
2.4.1
2.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 Target
3.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.0
3.1
3.1.1
3.1.2
3.1.310.5.7iOS 3.1.3 (7E18) or lower+ each down toiOS 2.0
3.1.4
3.210.6.0
OS X
Tiger(10.4.x),
OS X Leopard(10.5.x), andOS X Snow Leopard(10.6.x)
3.2.1
3.2.210.6.2iOS 3.2 (7B367) + each down to iOS 3.0iOS 3.0
3.2.310.6.4iOS 4.0.x+iOS 3.2
3.2.4iOS 4.1 +iOS 3.2
3.2.5iOS 4.2 (8C134)
3.2.610.6.6iOS 4.3 (8F190)
4.0
OS X
Snow
Leopard
(10.6.x)
4.0.1
4.0.2iOS 4.3.2 (8H7)
4.110.6.7and 10.7
OS X Snow
Leopard
(10.6.x) and
OS X
Lion
(10.7.x)
4.1.1
4.2iOS 5.0 (9A334)
4.2.110.7
4.310.7.3
4.3.1iOS 5.1 (9B176)
4.3.2
4.3.3
4.410.7.4
OS X Lion(10.7.x)
andOS X
Mountain
Lion(10.8.x)
4.4.1
4.5iOS 6.0 (10A403)iOS4.3
4.5.1
4.5.2
4.6iOS 6.1 (10B141)
4.6.1
4.6.2
4.6.3
VersionminOS 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 Simulators
5.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.0
5.0.1OS X v10.8+OS X v10.9iOS 7.0.3 (11B508)
5.0.2
5.1iOS 7.1 (11D167)iOS 7.0 + iOS 6.1
5.1.1iOS 6.1
6.0.110.9.4OS X v10.9iOS 8.0 (12A365)iOS 7.1 + only for OS X 10.9iOS 7.0
6.1OS X v10.9+OS X v10.10iOS 8.1 (12B411)
6.1.1
6.2iOS 8.2 (12D508)iOS 8.1 + iOS 7.1
6.310.10OS X v10.10iOS 8.3 (12F69)iOS 8.2 + iOS 8.1 + iOS 7.1
6.3.1
6.3.2
6.4iOS 8.4 (12H141)iOS 8.3 + iOS 8.2 + iOS 8.1 + iOS 7.1
VersionminOS 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 Simulators
7.010.10.4OS X v10.11iOS 9(13A340)watchOS2iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1
7.1 beta 2iOS 9.1 beta (13B5119e)watchOS2;tvOSbeta
VersionminOS 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
xcode
Xcode 4 的核心部分是蘋果電腦公司下一代業界標準的 gcc編譯器gcc 4.0。新的編譯器利用許多先進的最優化技術幫你從現存編碼中獲得更多性能。從超級計算世界借鑒來的自動向量化(Auto-vectorization)技術可以幫助你釋放每台 Intel 系統中速度引擎的能量,而不需要編寫向量化編碼。其他的最優化工具則支持反饋定向的最優化,以及隱藏模塊分析。

Xcode快捷鍵


文件

CMD + N: 新文件; CMD + SHIFT + N: 新項目; CMD + O: 打開;
CMD + S: 保存; CMD + SHIFT + S: 另存為;
CMD + W: 關閉窗口; CMD + SHIFT + W: 關閉文件

編輯

xcode
xcode
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 構建寄放區,快速處理那些耗時的任務。
xcode
xcode

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 將幫你快速找到最新的答案。