Xcode（エックスコード）は、ソフトウェアを開発するためのAppleの統合開発環境 (IDE) である。かつてはMac OS Xに付属する形で配布されていた。Mac OS X v10.3のリリースと共に2003年10月24日に初めて紹介されたこのソフトは、NeXTの資産を受け継ぐMac OS Xの初期IDE「Project Builder」を進化させる事となった。

Mac (macOS) にてmacOSあるいはiOS用のアプリケーションを開発する場合、またソースコードで配布されているUNIX用ソフトウェアをインストールする場合に、Xcodeが必要になる。初期状態ではXcodeはインストールされておらず、Mac App Storeからの無料ダウンロードでインストールを行う。

 特徴 
Xcodeではユーザインタフェースを作成するために使用するグラフィカルツール、Interface Builder（NeXT社の資産）を用いて、UI画面の設計ができる。バージョン4.0以前は、Interface Builderは、Xcodeと独立したツールで、開発者は、XcodeとInterface Builderを行き来して、コーディングしていた。しかし、バージョン4.0で、Interface Builderは、Xcodeに統合された。

XcodeはかつてはGNU Compiler Collection (GCC) を含んでいたが、4.2からデフォルトコンパイラーがLLVMに置き換えられ、後にXcode 6以降でGCCは外された。Xcodeでは、Cocoa, Carbon、Javaに制限されることなく、多様なプログラミング・モジュールを含むC、C++、Objective C++、Java、AppleScript、そしてオブジェクト指向記述言語Objective-CおよびSwiftのソースコードをコンパイルできる。サードパーティーはGNU Pascal、Free Pascal、Ada向けの追加サポートを行っている。

Xcodeは主にプロジェクト管理、コード編集、デバッグを行う為のソフトである。この他にクラスブラウザやドキュメントブラウザなどが統合されている。DelphiやVisual Basicと異なり単体ではRAD的なツールではないが、Interface Builderとよく連携しており、簡易なテキストエディタなどであれば一行のコードも書く事なく開発できる。 

distccによる分散ビルドをサポートし、Bonjourによるネットワーク検索及び構築を行う。

さらに10.4付属のVersion 2.0からはCore Data/WebObjectsで用いるUMLに準じたモデルエディタが統合された。

ファイル管理は同社のiTunesなどに準じた形式でやや癖があるが、全体としてはよく整理されており、比較的プログラマ臭のしないツールである。

その他の特徴としてZeroLinkが挙げられる。これはコンパイル後のリンク過程を実行時まで遅延することで高速なソフトの再起動を行なうもので、DelphiやC#ほどではないが、かなりの速度でソフトを再構築できる。

 バージョン 

 2.X 
バージョン リリース日 内容 2.0 2005年4月29日 Mac OS X 10.4 Tigerと同時リリース。
 Mac OS X SDKサポート利用による Mac OS X v10.1、Mac OS X v10.2 (Jaguar)、Mac OS X v10.3 (Panther)、およびMac OS X v10.4 (Tiger) 向け開発サポート。
 GCCコンパイラの新しいバージョン (4.0) が含まれる。 2.1 2005年6月6日 WWDC 2005 にてリリース。
 Mac OS X SDKサポート利用によるMac OS X v10.4.1 上でのPowerPCおよびインテル設計のためのユニバーサル・バイナリ (Universal binary) 制作サポート。
 WebObjects開発ツールがオプションでのインストールでXcodeツールに追加される。 2.2 2005年11月11日 gccが4.0.1にバージョンアップ。
 日本語リソースが再び含まれるようになった。
 Deploymentビルドがクラッシュした際にもデバッガに接続してくれるようになった。ただしデバッグシンボルが存在しないため、スタックトレースのみとなる。 2.2.1 2006年1月10日 バグ修正 : Xcode IDE、cctools、デバッガ、コンパイラのバグが修正された。
 Mac OS X 10.4.4での開発のために10.4u SDKに更新された。
 CHUDが4.3.0に更新された。 2.3 2006年5月23日 DWARFデバッグフォーマットに対応し、デバッグ精度とディスク利用効率の向上を実現した。
 新しい分散ネットワークビルド (New Distributed Network Build、DNB) によるスケーラブルなビルドアーキテクチャ。
 Xcode IDE、ビルドシステム、Code Senseの安定性と性能の向上。 2.4 2006年8月7日 64ビットのIntel Mac上での開発をサポートするようになり、インテルとPowerPCの両CPUでの32ビット/64ビットの、計4つのアーキテクチャのアプリケーション開発を可能とするようになった。
 DWARFバイナリのデバッグ時の著しい段階的な動作が切り詰められ、分散ネットワークビルドにも修正が加えられた。
 Mac OS X v10.4.7での開発のために10.4u SDKも更新された。
 CHUDが4.4.0に更新された。 2.4.1 2006年11月1日 DWARFデバッグにおける幾つかの問題を解決し、総合的な安定性と安全性を向上させた。
 CHUDが4.4.3に更新され、Xcodeとは独立してリリースされるようになった。
 10.3.9 SDKと10.4u SDKも更新された。 2.5 2007年9月5日 Mac OS X v10.5 Leopardに先駆けてリリース。
 Mac OS X v10.4と10.5において起動可能。しかしMac OS X v10.5上では一部の機能が制限を受ける。
 Mac OS X v10.5をターゲットとした開発環境ではなく、Xcode 3.0へのプロジェクトの移行を目的とする。
 Mac OS X v10.2.8とMac OS X v10.3.9、Mac OS X 10.4のOSにおけるユニバーサルアプリケーションを開発対象とする。

 3.X 
バージョン リリース日 内容 3.0 2007年10月26日 Mac OS X v10.5 Leopardと同時リリース。
 Mac OS X v10.5において起動可能。それ以前では動作しない。
 Objective-C 2.0での開発が可能となり、Xcode 3.0自体もObjective-C 2.0で開発されている。
 GarageBandと似たユーザインタフェースを持つInstrumentsというパフォーマンスツールが付属する。
 Mac OS X v10.5からMac OS X v10.3.9までのOSを対象としたアプリケーション開発環境として推奨されている。 3.1 2008年7月11日 iPhone OSのようなMac OS X以外をターゲットとするSDKがサポートされた。
 Mac OS X v10.5向けの開発においてGCC 4.2またはLLVM GCC 4.2がオプションで使用できる。 3.1.2 2008年11月24日 3.1.3 2009年6月17日 3.1.4 2009年9月10日 3.2 2009年8月27日 Mac OS X v10.6においてのみ動作する。
 Mac OS X v10.6からMac OS X v10.4までのOSを対象としたアプリケーションを開発できるが、デフォルトではMac OS X v10.4のサポートは有効にされない。
 Mac OS X v10.6向けの開発においてGCC 4.2がデフォルトになった。

 4.X 
バージョン リリース日 内容 4.0 2011年3月9日 Mac App Storeで600円で販売される（Developer Programsの会費を払っている場合は無料でダウンロードできる）。
 Mac App Store で Mac OS X v10.7 を購入した場合も無料となる。 4.0.1 2011年3月25日 起動に失敗する問題を修正。 4.1 － デフォルトコンパイラがgccからllvm-gcc 4.2になった。値段が600円から無償になった。 4.2 － デフォルトコンパイラがllvm-gccからllvm clang 3.0になった。 4.3 － 各種ツールセットが単一のXcodeとして配布されるようになった。 4.4 － OS X 10.8対応。 4.5 － iOS 6対応。 4.6 － iOS 6.1対応。

 5.X 
バージョン リリース日 内容 5.0 2013年9月18日 iOS 7.0 SDKのサポートが追加された。
 ツールバーが小さくなってフラットデザインになるなどのユーザインタフェースの改良も行われた。
 新規プロジェクトの作成からはARCのメモリ管理がデフォルトで採用されるようになり、ARCがオプション扱いではなくなった。
 実行時にデバッグエリアにメモリやCPUの使用状況が表示されるようになった。
 OpenGL ES 3.0のサポートが追加された。
 Xcode 4.xでは自動的に追加されていたAuto Layoutの制約が、自動的には追加されなくなっている。 5.1 2014年3月10日 iOS 7.1 SDKのサポートが追加された。
 全てのconstraintタイプをサポートする新しいAuto Layout constraint inspectorが追加された。
 カスタムオブジェクトタイプのためのデバッガーのQuick Lookサポートが追加された。
 Instruments内でのsymbol解決能力が向上した。
 iOS standard architecture settingsに64ビットを含むよう更新された。
 不具合の解消により安定性が向上した。

 6.X 
バージョン リリース日 内容 6.0 － OS X v10.10 Yosemiteのサポート
 新たな開発言語として、Swiftがサポートされた。
 iOS 8.0 SDKがサポートされた。
 iOS用には、ユニバーサル・ストーリーボードがサポートされた。 6.1 － Xcode 6.0で問題のあった巨大なストーリーボードを取り扱えない、というバグが解消された。 6.2 － iOS 8.2とWatchKitのサポート、セキュリティアップデート。

 7.x 
 iOS 9とOS X El Capitan、Swift 2がサポートされた。

 8.x 
 iOS 10とmacOS Sierra、Swift 3がサポートされた。

 9.X 
バージョン リリース日 内容 9.0 2017年9月19日 iOS 11とmacOS High Sierra、Swift 4がサポートされた。 9.1 － 9.2 2017年12月5日 iOS 11.2とmacOS High Sierra 10.13.2、watchOS 4.2、tvOS 11.2がサポートされた。 9.3 2018年3月29日 Swift 4.1、iOS 11.3とmacOS High Sierra 10.13.4、watchOS 4.3、tvOS 11.3がサポートされた。 9.3.1 2018年5月11日 Playgroundが遅くなる、 Apple ID再入力を要求する問題の修正。

 10.x 
バージョン リリース日 内容 10.0 2018年9月17日 iOS 4.2、watchOS 5、tvOS 12、macOS Mojaveをサポート。
 macOS Mojaveのダークモード
 XcodeとInstrumentsで、まったく新しいダークな外観(ダークモード)を追加。
 アセットカタログは、カラーとイメージアセットをカスタマイズするために、ダーク及びライトのバリエーションを追加します。
 Interface Builderは、アプリのインターフェースのダークモード/ライトモードを簡単に切り替えられる。
 デバッガでは、OSの設定を変更せずにMacアプリをダークモード/ライトモードの間で切り替えることが可能。
 ソースコントロール
 リポジトリサーバー上のデータと異なっている部分は、以下のようにエディタ内で直接強調表示されます。
ローカルの変更はまだ共有リポジトリにプッシュされていません
他のユーザが行ったアップストリームの変更
コミット前に編集の競合に対処してください
 Atlassian Bitbucket、GitLab、GitHubの自己ホスト型およびクラウドサーバとのアカウント統合が可能。
 アカウントログインでは、必要に応じてSSHキーを生成し、サービスプロバイダにアップロードできます。
 Rebaseは、コードの最新バージョンを取得する際のオプションとなります。
 エディタの強化
 エディタで複数のカーソルを使用すること、一度に多くの変更が可能になりました。
 コード横の折りたたみリボンは、中括弧で囲まれた任意のコードブロックを非表示にできます。
 オーバースクロールを使用すると、コードの最後の行を画面の中央に簡単に表示できます。
 プレイグラウンドと機械学習
 完全に再設計されたREPLのようなプレイグラウンドは、はるかに速く、より安定しています。
 SHIFT-RETURNキーを押してコードを実行するか、インライン実行ボタンをクリックして特定の行まで実行できます。
 対話形式でトレーニングを行い、プレイグラウンド内で直接MLモデルを作成できるようになりました。
 テストとデバッグ
 デバイスからのデバッグシンボルのダウンロードが以前より約5倍高速化されました。
 すべてのCPUコアを最大限に活用するために、多数のシミュレータでテストを並行して実行できます。
 カスタムインストゥルメントは、あらゆるコードのユニークなデータ可視化を提供します。
 メモリデバッガのレイアウトが再設計され、アプリ全体のナビゲートと視覚化が容易になりました。
 メタルシェーダデバッガでは、頂点、フラグメント、計算、およびタイルシェーダコードの実行を検査できます。 10.1 2018年10月30日 iOS 12.1、watchOS 5.1、tvOS 12.1、macOS Mojaveをサポート。 10.2 2019年3月25日 iOS 12.2、tvOS 12.2、watchOS 5.2、macOS Mojave 10.14 .4をサポート。
 追加のバグ修正。
 Swift 5
 Swift 5ランタイムは、最新のAppleプラットフォームリリースにOSの一部として含まれています。
 App Storeでは、最新OSを実行するデバイスへのダウンロードを高速化するために、アプリからSwiftランタイムを削除します。
 SIMDベクトル型は標準ライブラリに組み込まれています。
 文字列リテラルの構文が強化され、読み書きが容易になりました。
 新しい結果の列挙により、非同期操作でエラーを処理しやすくなりました。
 Xcodeのその他の機能強化
 デバッガコンソールには、 「p」 または「po」より高速な新しいフレーム変数コマンドのエイリアス 「v」 があります。
 プレイグラウンドでの様々な安定性の向上やメモリの安全性チェックなど。 10.2.1 2019年4月17日 iOS 12.2、tvOS 12.2、watchOS 5.2、macOS Mojave 10.14 .4をサポート。
 大規模なSwiftプロジェクトのビルド時間の問題を修正し、追加のバグ修正。 10.3 2019年7月22日 iOS 12.4、tvOS 12.4、watchOS 5.3、macOS Mojave 10.14 .6をサポート。

 11.X 
バージョン リリース日 内容 11.0 2019年9月12日 iOS 13、tvOS 13、watchOS 6、macOS Catalina 10.15をサポート。
 Swift UI
 SwiftUIフレームワークとデザインツールが連携して、ユーザーインターフェースを構築する新しい方法を実現。
 (読みやすい)Swiftコードで、ユーザインターフェースを定義することができます。
 デザインツールを使用すると、ドラッグアンドドロップと同じくらい簡単にビューを作成および編集できます。
 コードは、デザイン及びプレビューのキャンバスと常に同期されています。
 コントロールと修飾子のライブラリにより、複雑なインタフェースを簡単に構築できます。
 アニメーションを、表示するアクションを記述する簡単なコマンドを使用して作成可能。
 複数のデバイスタイプ、向き、フォントサイズで実際のアプリケーションのプレビューが可能に。
 すべてのAppleプラットフォームで共通のコードを共有し、各OSにカスタムのエクスペリエンスを追加可能。
 「Mac Catalyst」 
iPadアプリをMacでも利用可能にできます。
 iPadプロジェクトから1クリックで、ネイティブMacアプリケーションを開発可能。
 1つのプロジェクトとソースコードによって、iPhone、iPad、およびMac用のアプリケーションが作成できるようになりました。
 Mac独自の操作性を実現するために、アプリケーションの要素をカスタマイズすることが可能。
 プロジェクト内の既存のUIKitコードに新しいSwiftUIコードを追加することが可能。
 Mac App Storeに送信するか、外部配布用に公証することが可能。
 SwiftとSwiftパッケージ
 Swiftパッケージをビルド、デバッグ、SCMワークフローを含む全体でサポート。
 GitHub、Bitbucket、GitLab、もしくは開発者自身のホストのSwiftパッケージを使用することが可能。
 依存性の分析に基づいて、パッケージを自動的にダウンロードすることが可能。
 独自のパッケージを作成して、すべてのアプリケーション間でコードを共有したり、コミュニティに公開したりすることが可能。
 iOSダークモード
 開発およびデバッグ中に、明暗モードの切り替えが可能。
 アセットカタログを使用すると、ダークモードとライトモードのイメージとカラーを簡単に制御可能。
 エディタ
 コードの全体像が表示されるエディタのミニマップを使って、任意の行にすばやくジャンプできます。
 各エディタビューには、独自のプレビュー、アシスタント、またはその他の補足的なビューが用意されています。
 エディタペインを分割して、ワークスペースを希望どおりにレイアウトできます。
その他の改善点
 スタンドアローンのwatchOSアプリを構築され、より速いデバッグが可能になりました。
 シミュレータの迅速な起動により、GPUを使用してMetalコードを高速化できます。
 テストプランによって、共有可能な結果のバンドルを使用し、テストハーネスをより詳細に制御できます。
 テストプランの一環としてUIテストを使用し、ローカライズされたスクリーンショットを自動的に生成することが可能。
 ソース制御により、stashおよびcherry-pick操作がサポートされるようになりました。
 デバッグ中に、ネットワーク速度の低下や温度の警告などのデバイスの状態をシミュレートできます。
 整理ビューの 「メトリック」 タブには、ユーザーのデバイス上でのアプリケーションの実行効率が表示されます。 11.1 2019年10月7日 iOS 13.1、 iPadOS 13.1、 tvOS 13、 watchOS 6、 macOS Catalina 10.15をサポート。 11.2 2019年10月31日 iOS 13.2、iPadOS 13.2、tvOS 13.2、watchOS 6.1、macOS Catalina 10.15.1をサポート。 11.2.1 2019年11月12 iOS 13.2、iPadOS 13.2、tvOS 13.2、watchOS 6.1、macOS Catalina 10.15.1をサポート。
 UITextViewを使用するアプリがクラッシュする可能性のある重大な問題を修正。 11.3 2019年12月10日 iOS 13.3、iPadOS 13.3、tvOS 13.3、watchOS 6.1.1、macOS Catalina 10.15.2をサポート。
 Touch Barのシミュレータでのサポートを追加(第2世代)。
 追加のバグ修正と安定性の改善。 11.3.1 2020年1月13日 iOS 13.3、iPadOS 13.3、tvOS 13.3、watchOS 6.1.1、macOS Catalina 10.15.2をサポート。
 Xcodeをクラッシュさせる可能性がある、ストーリーボードのキャンバスのバグを修正。
 追加のバグ修正と安定性の改善。 11.4 2020年3月24日 iOS 13.4、iPadOS 13.4、tvOS 13.4、watchOS 6.2、macOS Catalina 10.15.4をサポート。
 Interface BuilderとSimulatorが、iPadOSの新しいカーソル機能をサポート。
 macOSプロジェクトでApp Storeのユニバーサル購入をサポート。
 シミュレータがリモートプッシュ通知をトリガー可能に。
 Swiftのテストでは、エラーが発生したコードが強調表示される。
 追加のバグ修正と安定性の改善。 11.4.1 2020年4月15日 iOS 13.4、iPadOS 13.4、tvOS 13.4、watchOS 6.2、macOS Catalina 10.15.4用をサポート。
 バグ修正と安定性の改善。 11.5 2020年5月20日 iOS 13.5、iPadOS 13.5、tvOS 13.4、watchOS 6.2、macOS Catalina 10.15.4用をサポート。
 Exposure Notification APIをサポート。
 バグ修正と安定性の改善。 11.6 2020年7月15日 iOS 13.6、iPadOS 13.6、tvOS 13.4、watchOS 6.2、macOS Catalina 10.15.6用をサポート。
 macOS SDKにおけるDriverKit APIの機能強化。
 バグ修正と安定性の改善。 11.7 2020年9月1日 iOS 13.7、iPadOS 13.7、tvOS 13.4、watchOS 6.2、macOS Catalina 10.15.6用をサポート。

 12.X 
バージョン リリース日 内容 12.0 2020年9月16日 iOS 14、iPadOS 14、tvOS 14、watchOS 7、macOS Catalina 10.15.6用をサポート。 12.0.1 2020年9月24日 iOS 14、iPadOS 14、tvOS 14、watchOS 7、macOS Catalina 10.15.6用をサポート。 12.1 2020年10月20日 iOS 14.1、iPadOS 14.1、tvOS 14、watchOS 7、macOS Catalina 10.15.6用をサポート。 12.2 2020年11月12日 iOS 14.2、iPadOS 14.2、tvOS 14.2、watchOS 7.1、macOS Big Sur 11用をサポート。 12.3 2020年12月14日 iOS 14.3、iPadOS 14.3、tvOS 14.3、watchOS 7.2、macOS Big Sur 11.1用をサポート。 12.4 2021年1月26日 iOS 14.4、iPadOS 14.4、tvOS 14.3、watchOS 7.2、macOS Big Sur 11.1用をサポート。 12.5 2021年4月26日 iOS 14.5、iPadOS 14.5、tvOS 14.5、watchOS 7.4、macOS Big Sur 11.3用をサポート。 12.5.1 2021年6月21日 iOS 14.5、iPadOS 14.5、tvOS 14.5、watchOS 7.4、macOS Big Sur 11.3用をサポート。

 13.X 
バージョン リリース日 内容 13.0 2021年9月20日 iOS 15.0、iPadOS 15.0、tvOS 15.0、watchOS 8.0、macOS Big Sur 11.3用をサポート。
 Swiftによる非同期プログラミングのネイティブサポート。
 コマンドラインによる、CloudKitデータベーススキーマおよびレコードの操作をサポート。
 コマンドラインによる、Metal圧縮テクスチャ形式への圧縮操作をサポート。
 XIPアーカイブを約15%縮小。 13.1 2021年10月25日 iOS 15.0、iPadOS 15.0、tvOS 15.0、watchOS 8.0.1、macOS Monterey 12.0用をサポート。 13.2 2021年12月13日 iOS 15.2、iPadOS 15.2、tvOS 15.2、watchOS 8.3、macOS Monterey 12.1用をサポート。
 Swift Playground 4 アプリプロジェクトサポート。
 Xcode Organizerでアプリのパワーとパフォーマンスを監視するためのスマートインサイト通知を表示。 13.2.1 2021年12月17日 iOS 15.2、iPadOS 15.2、tvOS 15.2、watchOS 8.3、macOS Monterey12.1用をサポート。 13.3 2022年3月14日 iOS 15.4、iPadOS 15.4、tvOS 15.4、watchOS 8.5、macOS Monterey 12.3用をサポート。 13.3.1 2022年4月11日 iOS 15.4、iPadOS 15.4、tvOS 15.4、watchOS 8.5、macOS Monterey 12.3用をサポート。 13.4 2022年5月16日 iOS 15.5、iPadOS 15.5、tvOS 15.4、watchOS 8.5、macOS Monterey 12.3用をサポート。 13.4.1 2022年6月2日 iOS 15.5、iPadOS 15.5、tvOS 15.4、watchOS 8.5、macOS Monterey 12.3用をサポート。

 14.x 
バージョン リリース日 内容 14.0 2022年9月12日 iOS 16、iPadOS 16、tvOS 16、watchOS 9、macOS Monterey 12.5用をサポート。
 Swift 5.7サポート。14.0.12022年9月26日 iOS 15.7用サポートバグ修正 14.1 2022年11月1日 iOS 16.1、iPadOS 16.1、tvOS 16.1、watchOS 9.1、macOS Ventura 13用をサポート。14.2 Swift 5.7サポート

 iOS 16.2, iPadOS 16.2, tvOS 16.1, watchOS 9.1, macOS Ventura 13.1用をサポート14.3 Swift 5.8サポート
 iOS 16.4, iPadOS 16.4, tvOS 16.4, watchOS 9.4, macOS Ventura 13.3用をサポート14.3.1 Swift 5.8.1サポート
 iOS 16.4, iPadOS 16.4, tvOS 16.4, watchOS 9.4, macOS Ventura 13.3用をサポート

 15.x 
iOS 17、iPadOS 17、tvOS 17、watchOS 10、macOS Sonomaの他、Apple Vision Pro用のvisionOSをサポートする。また、Game Porting ToolkitでWindows PC（X64）向けのゲームのmacOS Sonoma/Appleシリコンへの移植環境をサポートする。
バージョン リリース日 内容15.02023年9月18日 Swift 5.9サポート
 iOS 17, iPadOS 17, tvOS 17, watchOS 10, macOS Sonoma 14用SDKをサポート15.0.12023年10月18日iOS 17, iPadOS 17, tvOS 17, watchOS 10, macOS Sonoma 14用SDKをサポート15.12023年12月11日iOS 17.2, iPadOS 17.2, tvOS 17.2, watchOS 10.2, macOS Sonoma 14.2用SDKをサポート15.22024年1月8日iOS 17.2, iPadOS 17.2, tvOS 17.2, watchOS 10.2, macOS Sonoma 14.2, visionOS用SDKをサポート15.32024年3月5日Swift 5.10サポート
iOS 17.4, iPadOS 17.4, tvOS 17.4, watchOS 10.4, macOS Sonoma 14.4, visionOS 1.1用SDKをサポート15.42024年5月13日 iOS 17.5, iPadOS 17.5, tvOS 17.5, watchOS 10.5, macOS Sonoma 14.5, visionOS 1.2用SDKをサポート