Xcode provides everything developers need to create great applications for Mac, iPhone, and iPad. Xcode has unified user interface design, coding, testing, and debugging all within a single window. The Xcode IDE analyzes the details of your project to identify mistakes in both syntax and logic, it can even help fix your code for you. Overview Xcode consists of a suite of tools that developers use to build apps for Apple platforms. Use Xcode to manage your entire development workflow—from creating your app to testing, optimizing, and submitting it to the App Store.

Learn about the key features available in Xcode, the integrated development environment for building apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. For detailed information on updates in the latest released versions, including each beta release, see the Xcode Release Notes.

Xcode 12

Xcode 12 includes Swift 5.3 and SDKs for iOS 14,iPadOS 14,tvOS 14,watchOS 7, and macOS Big Sur.

Universal apps

  • A single macOS Universal app includes native binaries for Intel-based Macs and Apple Silicon Macs
  • “Any Mac” destination in the toolbar builds a Universal app, even on Intel-based Macs
  • Standard Architectures build setting defaults to Universal, and Xcode offers to upgrade your project if needed
  • Run and debug the Intel binary within a Universal app by selecting “My Mac (Rosetta)” on a Developer Transition Kit (DTK) from the Universal App Quick Start Program

NOTE: Xcode 12.2 adds support for macOS Big Sur and Universal apps.

Refined user interface for macOS Big Sur

  • Document tabs open any type of document, including logs, asset catalogs, and UI files, in a lightweight editor tab
  • Toolbar, icons, and sidebar designs match the beautiful new aesthetic of macOS Big Sur
  • Navigator fonts track the size of the system setting or can be manually set to a custom size
  • Organizer is completely redesigned and reports new app metrics, such as hitches in animation and scrolling

Swift and SwiftUI

  • App lifecycle in SwiftUI enables entire apps to be written completely in SwiftUI for iOS, iPadOS, and macOS
  • WidgetKit built on SwiftUI makes it easy to share code for widgets that run on iOS, iPadOS, and macOS
  • SwiftUI performance is improved throughout, and new Lazy views efficiently handle enormous data sets
  • Multiplatform templates make it easy to share SwiftUI code across all Apple platforms, customized for each
  • SwiftUI Views can be turned into reusable components that appear in the Xcode library and in code completions
  • Swift Package Manager supports resources and localizations, making it great for sharing SwiftUI components
  • Improved Swift language diagnostics make it much easier to understand coding mistakes, especially in SwiftUI code

Mac Catalyst

Apple Xcode For Mac
  • Mac idiom displays your app’s user interface in 100% native Mac size and scale for total customization
  • Additional frameworks and controls are available, including HomeKit and AVCapture
  • Keyboard APIs and OS integration make it easier to completely control your app with the keyboard
  • Apps built with Mac Catalyst automatically inherit the new look and feel of macOS Big Sur

Other improvements

  • App clips target creates a small, focused experience from your app that installs quickly
  • StoreKit testing framework and transaction manager make it easy to test and debug in-app purchases

Xcode 11

Xcode 11 includes Swift 5.1 and SDKs for iOS 13,tvOS 13,watchOS 6, and macOS Catalina 10.15

This release adds many features to bring your apps to even more Apple platforms. SwiftUI is an innovative new user interface framework with a declarative Swift syntax that is easy to read, and natural to write. Amazing new preview tools let you manually type SwiftUI code, or modify the UI with rich design tools, with code and design always in sync. Get a head start on your Mac app by selecting the “Mac” checkbox in the project settings of your existing iPad app. And with support for Swift packages in Xcode 11, you can share code among all your apps, or make use of packages created by the community.

SwiftUI

Xcode 11 includes SwiftUI, a new Swift framework and accompanying design tools that empower a whole new way to build user interfaces. Design tools in Xcode make it as easy as drag-and-drop to construct or edit your interface, all while instantly editing the exact same Swift code file you can also edit by hand. Xcode is constantly running your real app interface live to see how it behaves directly in the design canvas, or you can instantly preview your app on an attached device.

SwiftUI includes:

  • Design tools read and write the same code you edit by hand for a single source of truth
  • Declarative syntax defines your user interface as easy-to-read Swift code
  • Animations are built using simple commands that describe the action you want to see
  • Library of controls and modifiers make it easy to design and build complex interfaces
  • Share common UI code across all Apple platforms, and add custom experiences for each OS
  • Previews show an exact rendering across various device types and accessibility settings
  • Interact with your interface live in the design canvas, or on an attached device
  • Hot-swap your edits into a live view of your app to instantly see and interact with changes

SwiftUI requires iOS 13,watchOS 6,tvOS 13, or macOS Catalina. To use the SwiftUI design canvas Xcode 11 must running on macOS Catalina.

Bring your iPad app to the Mac

It is easy to bring your existing iPad app to millions of Mac users. When you click a single checkbox Xcode can transform your iPad app into a true native Mac app that performs great.

  • Clicking a checkbox in your iPad project adds a native Mac app, built with the macOS SDK
  • Use a single code base for iPhone, iPad, and Mac versions of your app, and customize parts of your app for Mac
  • Add new SwiftUI code to the existing shared UIKit code
  • Submit to the Mac App Store directly from Xcode, or notarize for outside distribution

Swift and Swift Packages

  • Swift packages are supported throughout Xcode workflows — build, debug, SCM, and more
  • Easily use Swift packages published on GitHub, Bitbucket, GitLab, or your own hosts
  • Xcode automatically retrieves and manages packages based on dependency analysis
  • Create your own packages to share code among your own apps, or to publish for the community

iOS dark mode

  • Switch between light and dark mode instantly while developing and debugging
  • Asset catalog makes it easy to control images and colors for dark and light mode

Editor

  • Editor minimap gives a bird’s eye view of your code so you can quickly jump to any section
  • Each editor view or tab has its own preview, assistant, or other complementary views
  • Split any editor pane to layout your workspace exactly as you want

Other improvements in Xcode 11

  • Build stand-alone watchOS apps with a much faster debugging experience
  • Simulator launches much faster and uses the GPU to accelerate Metal code
  • Test plans give you greater control of your test harness with sharable results bundles
  • Automatically generate localized screenshots using UI tests as part of your test plan
  • Source control adds support for stash and cherry pick operations
  • Debug your app under simulated device conditions such as a slow network or thermal warnings
  • Metrics tab in the Organizer shows how efficiently your app runs on customer devices

Xcode 10.2.1

Xcode 10.2 includes Swift 5 and SDKs for iOS 12.2,tvOS 12.2,watchOS 5.2, and macOS Mojave 10.14.4.

Swift 5

Apple Xcode For Mac
  • Swift 5 runtime is included as part of the OS in the latest Apple platform releases
  • App Store thins the Swift runtime from your apps for faster downloads to devices running latest OS
  • SIMD vector types are built into the standard library
  • String literals have an enhanced syntax that makes them easier to read and write
  • New Result enum type makes it easier to handle errors across asynchronous operations

Other enhancements in Xcode

  • Debugger console has a new frame variable command alias “v” that is faster than “p” or “po”
  • Playgrounds include various stability improvements and additional memory safety checks

Xcode 10.2.1 fixes a build time issue in large Swift projects, and includes additional bug fixes.

Xcode 10.1

Xcode 10.1 includes Swift 4.2.1 and SDKs for iOS 12.1,watchOS 5.1,tvOS 12.1, and macOS Mojave.

Xcode 10

Xcode 10 looks amazing in combination with Dark Mode in macOS Mojave, and makes it easy for you to adopt the new look in your macOS apps as well. Xcode 10 beta includes Swift 4.2 and beta SDKs for iOS 12,watchOS 5,tvOS 12, and macOS Mojave.

Dark Mode Interface and Mac App Support

  • All-new dark appearance throughout Xcode and Instruments
  • Asset catalogs add dark and light variants for custom colors and image assets
  • Interface Builder switches between dark and light previews of your interface
  • Debug your Mac apps in dark or light variants without changing OS settings

Source Control

  • Changes in the local repository or upstream on a shared server are highlighted directly within the editor. At a glance, you’ll see:
  • Changes made in your code.
  • Changes not yet pushed to the shared repository.
  • Upstream changes others have made.
  • Conflicts you should address before committing.
  • Support for cloud-hosted and self-hosted Git server offerings from Atlassian Bitbucket, as well as GitLab to go along with existing GitHub support.
  • Xcode offers to rebase your changes when pulling the latest version of code from your repository.
  • SSH keys are generated if needed, and uploaded to service providers for you.

Editor Enhancements

  • Place multiple cursors in your code editor to make many changes at once.
  • Code folding ribbon can now hide any code block surrounded by braces.
  • Over-scroll makes it easy to center the last lines of code in the middle of your screen.

Playgrounds Built for Machine Learning

  • New REPL-like model reruns your existing playground code instantly.
  • Run your code up to any specific line, or type shift-return to run the code you just added.
  • Import the Create ML framework to interactively train new models, and then write code to test the model right in the playground. When finished, drag the model into your app.

Testing and Debugging

  • Debugging symbols are downloaded from a new device five times faster than before.
  • Xcode will spawn a collection of identical Simulators to take advantage of your multi-core Mac, and fan tests out to run in parallel, completing your test suite many times faster.
  • Run tests in random or linear order.
  • Instruments automatically show OSLog signposts you add into your code.
  • Build and share your own custom instruments package to provide unique data visualization and analysis for your own code.
  • Memory debugger uses a compact layout to make it easier to investigate your memory graph.
  • Metal shader debugger lets you easily inspect the execution of your vertex, fragment, compute, and tile shader code.
  • Metal dependency viewer provides a detailed graph of how resources are used in your Metal-based app.

Build Performance

  • New build system enabled by default with improved performance throughout.
  • Swift compiler builds each individual file significantly faster.
  • Large Swift projects build for debugging dramatically faster when using the incremental build setting.

Xcode 9.3

Xcode 9.3 includes Swift 4.1 and SDKs for iOS 11.3,watchOS 4.3,tvOS 11.3, and macOS High Sierra 10.13.4

  • New Energy tab in the Organizer window includes logs generated when your app consumes too much power
  • Swift build tasks and other commands are run in parallel more often to improve build performance
  • Swift compiler adds new code size optimization, enabled with the -Osize build setting
  • Quick access to callers is available by clicking on a symbol while holding the command key
  • Asset catalogs support AR Reference Image files that can be detected in the real-world by your ARKit apps
  • New xccov command line tool lets you inspect code coverage reports
  • Improved source editor performance when working on extremely large files

Xcode 9.2

Mac

Xcode 9.2 includes Swift 4 and SDKs for iOS 11.2,watchOS 4.2,tvOS 11.2, and macOS High Sierra 10.13.

  • Updates to the latest platform SDKs

Xcode 9.1

Xcode 9.1 includes Swift 4 and SDKs for iOS 11,watchOS 4,tvOS 11, and macOS High Sierra 10.13

  • Fixes an issue in Simulator that impacted the performance of OpenGL ES and maps
  • Improves support for iPhone X

Xcode 9.0.1

Xcode 9.0.1 includes Swift 4 and SDKs for iOS 11,watchOS 4,tvOS 11, and macOS High Sierra 10.13

  • Simulator improvements for iPhone X
  • Fixes a problem where the Test Navigator could become out of sync with available tests

Xcode 9.0

Xcode 9 includes Swift 4 and SDKs for iOS 11,watchOS 4,tvOS 11, and macOS High Sierra 10.13

  • Refactoring makes it easy to modify the structure of Swift, Objective-C, C, and C++ code
  • Code editor is blazingly fast and responsive and adds native support for Markdown syntax
  • Fix-its apply multiple improvements to your code in a single click, and can even add required protocol methods
  • New Source Control navigator and integrated GitHub accounts make it easy to manage code across a team
  • Wireless installation and debugging for iOS and tvOS apps on devices over the network
  • Simulator looks and behaves more like a real device and can simulate multiple devices at a time
  • iOS playground templates create documents that work in both Xcode and Swift Playgrounds on iPad
  • Find navigator is incredibly fast and results show up instantly
  • Project navigator automatically keeps files and groups in sync with Finder and source control
  • Xcode Server no longer requires macOS Server and can be fully configured in Xcode preferences
  • Next-generation build system improves reliability and performance when building many projects (optionally enabled)
  • Swift 4 compiler can also build Swift 3 code to enable staged migration, one module at a time
  • Latest SDKs include the Core ML framework for machine learning and ARKit for augmented reality

With an all-new design that looks great on macOS Big Sur, Xcode 12 has customizable font sizes for the navigator, streamlined code completion, and new document tabs. Xcode 12 builds Universal apps by default to support Mac with Apple Silicon, often without changing a single line of code.

Designed for macOS Big Sur.

Xcode 12 looks great on macOS Big Sur, with a navigator sidebar that goes to the top of the window and clear new toolbar buttons. The navigator defaults to a larger font that’s easier to read, while giving you multiple size choices. New document tabs make it easy to create a working set of files within your workspace.

Document tabs.

The new tab model lets you open a new tab with a double-click, or track the selected file as you click around the navigator. You can re-arrange the document tabs to create a working set of files for your current task, and configure how content is shown within each tab. The navigator tracks the open files within your tabs using strong selection.

Xcode For Windows 10 Download

Navigator font sizes.

The navigator now tracks the system setting for “Sidebar icon size” used in Finder and Mail. You can also choose a unique font size just for Xcode within Preferences, including the traditional dense information presentation, and up to large fonts and icon targets.

Code completion streamlined.

A new completion UI presents only the information you need, taking up less screen space as you type. And completions are presented much faster, so you can keep coding at maximum speed.

Redesigned organizer.

Web Development In Xcode

An all-new design groups all critical information about each of your apps together in one place. Choose any app from any of your teams, then quickly navigate to inspect crash logs, energy reports, and performance metrics, such as battery consumption and launch time of your apps when used by customers.

SwiftUI

SwiftUI offers new features, improved performance, and the power to do even more, all while maintaining a stable API that makes it easy to bring your existing SwiftUI code forward into Xcode 12. A brand new life cycle management API for apps built with SwiftUI lets you write your entire app in SwiftUI and share even more code across all Apple platforms. And a new widget platform built on SwiftUI lets you build widgets that work great on iPad, iPhone, and Mac. Your SwiftUI views can now be shared with other developers, and appear as first-class controls in the Xcode library. And your existing SwiftUI code continues to work, while providing faster performance, better diagnostics, and access to new controls.

Universal app ready.

Xcode 12 is built as a Universal app that runs 100% natively on Intel-based CPUs and Apple Silicon for great performance and a snappy interface.* It also includes a unified macOS SDK that includes all the frameworks, compilers, debuggers, and other tools you need to build apps that run natively on Apple Silicon and the Intel x86_64 CPU.

Updated automatically

When you open your project in Xcode 12, your app is automatically updated to produce release builds and archives as Universal apps. When you build your app, Xcode produces one binary “slice” for Apple Silicon and one for the Intel x86_64 CPU, then wraps them together as a single app bundle to share or submit to the Mac App Store. You can test this at any time by selecting “Any Mac” as the target in the toolbar.

Test multiple architectures.

On the new Mac with Apple Silicon, you can run and debug apps running on either the native architecture or on Intel virtualization by selecting “My Mac (Rosetta)” in the toolbar.

Multiplatform template

New multiplatform app templates set up new projects to easily share code among iOS, iPadOS, and macOS using SwiftUI and the new lifecycle APIs. The project structure encourages sharing code across all platforms, while creating special custom experiences for each platform where it makes sense for your app.

Improved auto-indentation

Swift code is auto-formatted as you type to make common Swift code patterns look much better, including special support for the “guard” command.

Developer Xcode Download

StoreKit testing

New tools in Xcode let you create StoreKit files that describe the various subscription and in-app purchase products your app can offer, and create test scenarios to make sure everything works great for your customers — all locally testable on your Mac.

Get started.

Xcode For Mobile

Download Xcode 12 and use these resources to build apps for all Apple platforms.