Xcode

Xcode is a complete developer toolset for creating apps for Mac, iPhone, iPad, Apple Watch, and Apple TV. Xcode brings user interface design, coding, testing, debugging, and submitting to the App Store into a unified workflow.

Downloading and updating Xcode

The current release of Xcode is available as a free download from the Mac App Store. The Mac App Store will notify you when an update is available or you can have macOS update automatically as it becomes available.

The latest beta version and previous versions of Xcode can be downloaded from the Downloads page. To download Xcode, simply sign in with your Apple Account. Apple Developer Program membership is not required.

Learning about Xcode

For step-by-step guidance on how to use Xcode to build, test, and submit apps to the App Store, take a look at Xcode documentation. You can also learn about the latest features and capabilities in Xcode. For details on the latest released versions, including each beta release, view the Xcode release notes.

Submitting apps to the App Store

Xcode provides an integrated workflow for Apple Developer Program members to prepare and submit apps to the App Store. To submit your apps, use the latest version of Xcode available on the Mac App Store or, when available, the latest Release Candidate from the Downloads page.

View minimum SDK requirements for App Store submissions

Minimum requirements and supported SDKs

Xcode Version Minimum OS Required SDK Architecture Deployment Targets Simulator Swift
Xcode 16.2 beta macOS Sonoma 14.5 iOS 18.2
macOS 15.2
tvOS 18.1
watchOS 11.1
visionOS 2.1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 13-18.2
iPadOS 13-18.2
macOS 10.13-15.2
tvOS 13-18.1
watchOS 4-11.1
DriverKit 19-24.2
visionOS 1-2.1
iOS 15-18.2
tvOS 15-18.1
watchOS 8-11.1
visionOS 1-2.1
Swift 4
Swift 4.2
Swift 5.10
Swift 6
Xcode 16.1 macOS Sonoma 14.5 iOS 18.1
macOS 15.1
tvOS 18
watchOS 11
visionOS 2
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 13-18.1
iPadOS 13-18.1
macOS 10.13-15.1
tvOS 13-18
watchOS 4-11
DriverKit 19-24.1
visionOS 1-2
iOS 15-18.1
tvOS 15-18
watchOS 8-11
visionOS 1-2
Swift 4
Swift 4.2
Swift 5.10
Swift 6
Xcode 16 macOS Sonoma 14.5 iOS 18
macOS 15
tvOS 18
watchOS 11
DriverKit 24
visionOS 2
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-18
iPadOS 13-18
macOS 10.13-15
tvOS 12-18
watchOS 4-11
DriverKit 19-24
visionOS 1-2
iOS 15-18
tvOS 15-18
watchOS 8-11
visionOS 1-2
Swift 4
Swift 4.2
Swift 5.10
Swift 6
Xcode 15.4 macOS Sonoma 14 iOS 17.5
macOS 14.5
tvOS 17.5
watchOS 10.5
DriverKit 23.5
visionOS 1.2
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17.5
iPadOS 13-17.5
macOS 10.13-14.5
tvOS 12-17.5
watchOS 4-10.5
DriverKit 19-23.5
visionOS 1-1.2
iOS 15-17.5
tvOS 15-17.5
watchOS 8-10.5
visionOS 1-1.2
Swift 4
Swift 4.2
Swift 5.10
Xcode 15.3 macOS Sonoma 14 iOS 17.4
macOS 14.4
tvOS 17.4
watchOS 10.4
DriverKit 23.4
visionOS 1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17.4
iPadOS 13-17.4
macOS 10.13-14.4
tvOS 12-17.4
watchOS 4-10.4
DriverKit 19-23.4
visionOS 1
iOS 15-17.4
tvOS 15-17.4
watchOS 8-10.4
visionOS 1
Swift 4
Swift 4.2
Swift 5.10
Xcode 15.2 macOS Ventura 13.5 iOS 17.2
macOS 14.2
tvOS 17.2
watchOS 10.2
DriverKit 23.2
visionOS 1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17.2
iPadOS 13-17.2
macOS 10.13-14.2
tvOS 12-17.2
watchOS 4-10.2
DriverKit 19-23.2
visionOS 1
iOS 15-17.2
tvOS 15-17.2
watchOS 8-10.2
visionOS 1
Swift 4
Swift 4.2
Swift 5.9
Xcode 15.1** macOS Ventura 13.5 iOS 17.2
macOS 14.2
tvOS 17.2
watchOS 10.2
DriverKit 23.2
visionOS 1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17.2
iPadOS 13-17.2
macOS 10.13-14.2
tvOS 12-17.2
watchOS 4-10.2
DriverKit 19-23.2
visionOS 1
iOS 15-17.2
tvOS 15-17.2
watchOS 8-10.2
visionOS 1
Swift 4
Swift 4.2
Swift 5.9
Xcode 15 beta 8 macOS Ventura 13.4 iOS 17
macOS 14
tvOS 17
watchOS 10
DriverKit 23
visionOS 1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17
iPadOS 13-17
macOS 10.13-14
tvOS 12-17
watchOS 4-10
DriverKit 19-23
visionOS 1
iOS 14.0.1-17
tvOS 14-17
watchOS 7-10
visionOS 1
Swift 4
Swift 4.2
Swift 5.9
Xcode 15.0.x macOS Ventura 13.5 iOS 17
macOS 14
tvOS 17
watchOS 10
DriverKit 23
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 12-17
iPadOS 13-17
macOS 10.13-14
tvOS 12-17
watchOS 4-10
DriverKit 19-23
iOS 14.0.1-17
tvOS 14-17
watchOS 7-10
Swift 4
Swift 4.2
Swift 5.9
Xcode 14.3.1 macOS Ventura 13 iOS 16.4
macOS 13.3
tvOS 16.4
watchOS 9.4
DriverKit 22.4
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 11-16.4
iPadOS 13-16.4
macOS 10.13-13.3
tvOS 11-16.4
watchOS 4-9.4
DriverKit 19-22.4
iOS 13.7-16.4
tvOS 13.4-16.4
watchOS 7-9.4
Swift 4
Swift 4.2
Swift 5.8.1
Xcode 14.3* macOS Ventura 13 iOS 16.4
macOS 13.3
tvOS 16.4
watchOS 9.4
DriverKit 22.4
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 11-16.4
iPadOS 13-16.4
macOS 10.13-13.3
tvOS 11-16.4
watchOS 4-9.4
DriverKit 19-22.4
iOS 13.7-16.4
tvOS 13.4-16.4
watchOS 7-9.4
Swift 4
Swift 4.2
Swift 5.8
Xcode 14.2 macOS Monterey 12.5 iOS 16.2
macOS 13.1
tvOS 16.1
watchOS 9.1
DriverKit 22.2
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 11-16.2
iPadOS 13-16.2
macOS 10.13-13.1
tvOS 11-16.1
watchOS 4-9.1
DriverKit 19-22.2
iOS 12.4-16.2
tvOS 12.4-16.1
watchOS 7-9.1
Swift 4
Swift 4.2
Swift 5.7
Xcode 14.1 macOS Monterey 12.5 iOS 16.1
macOS 13
tvOS 16.1
watchOS 9.1
DriverKit 22.1
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 11-16.1
iPadOS 13-16.1
macOS 10.13-13
tvOS 11-16.1
watchOS 4-9.1
DriverKit 19-22.1
iOS 12.4-16.1
tvOS 12.4-16.1
watchOS 7-9.1
Swift 4
Swift 4.2
Swift 5.7
Xcode 14.0.x macOS Monterey 12.5 iOS 16
macOS 12.3
tvOS 16
watchOS 9
DriverKit 22
i386
x86_64
armv7k
arm64
arm64e
arm64_32
iOS 11-16
iPadOS 13-16
macOS 10.13-12.5
tvOS 11-16
watchOS 4-9
DriverKit 19-22
iOS 12.4-16
tvOS 12.4-16
watchOS 7-9
Swift 4
Swift 4.2
Swift 5.7
Xcode 13.4 macOS Monterey 12 iOS 15.5
macOS 12.3
tvOS 15.4
watchOS 8.5
DriverKit 21.4
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-15.5
iPadOS 13-15.5
macOS 10.9-12.3
tvOS 9-15.4
watchOS 2-8.5
DriverKit 19-21.4
iOS 12.4-15.5
tvOS 12.4-15.4
watchOS 7-8.5
Swift 4
Swift 4.2
Swift 5.6
Xcode 13.3 macOS Monterey 12 iOS 15.4
macOS 12.3
tvOS 15.4
watchOS 8.5
DriverKit 21.4
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-15.4
iPadOS 13-15.4
macOS 10.9-12.3
tvOS 9-15.4
watchOS 2-8.5
DriverKit 19-21.4
iOS 12.4-15.4
tvOS 12.4-15.4
watchOS 7-8.5
Swift 4
Swift 4.2
Swift 5.6
Xcode 13.2 macOS Big Sur 11.3 iOS 15.2
macOS 12.1
tvOS 15.2
watchOS 8.3
DriverKit 21.2
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-15.2
iPadOS 13-15.2
macOS 10.9-12.2
tvOS 9-15.2
watchOS 2-8.3
DriverKit 19-21.2
iOS 10.3.1-15.2
tvOS 10.2-15.2
watchOS 3.2-8.3
Swift 4
Swift 4.2
Swift 5.5
Xcode 13.1 macOS Big Sur 11.3 iOS 15
macOS 12
tvOS 15
watchOS 8
DriverKit 21.0.1
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-15
iPadOS 13-15
macOS 10.9-12
tvOS 9-15
watchOS 2-8
DriverKit 19-21.0.1
iOS 10.3.1-15
tvOS 10.2-15
watchOS 3.2-8
Swift 4
Swift 4.2
Swift 5.5
Xcode 13 macOS Big Sur 11.3 iOS 15
macOS 11.3
tvOS 15
watchOS 8
DriverKit 20.4
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-15
iPadOS 13-15
macOS 10.9-11.3
tvOS 9-15
watchOS 2-8
DriverKit 19-20.4
iOS 10.3.1-15
tvOS 10.2-15
watchOS 3.2-8
Swift 4
Swift 4.2
Swift 5.5
Xcode 12.5.1 macOS Big Sur 11 iOS 14.5
macOS 11.3
tvOS 14.5
watchOS 7.4
DriverKit 20.4
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.7
iPadOS 13-14.7
macOS 10.9-11.5
tvOS 9-14.7
watchOS 2-7.6
DriverKit 19-20.4
iOS 10.3.1-14.5
tvOS 10.2-14.5
watchOS 3.2-7.4
Swift 4
Swift 4.2
Swift 5.4
Xcode 12.5 macOS Big Sur 11 iOS 14.5
macOS 11.3
tvOS 14.5
watchOS 7.4
DriverKit 20.4
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.6
iPadOS 13-14.6
macOS 10.9-11.4
tvOS 9-14.6
watchOS 2-7.5
DriverKit 19-20.4
iOS 10.3.1-14.5
tvOS 10.2-14.5
watchOS 3.2-7.4
Swift 4
Swift 4.2
Swift 5.4
Xcode 12.4 macOS Catalina 10.15.4 (Intel-based Mac)

macOS Big Sur 11
(Apple silicon Mac)
iOS 14.4
macOS 11.1
tvOS 14.3
watchOS 7.2
DriverKit 20.2
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.4
iPadOS 13-14.4
macOS 10.9-11.1
tvOS 9-14.3
watchOS 2-7.2
DriverKit 19-20.2
iOS 10.3.1-14.4
tvOS 10.2-14.3
watchOS 3.2-7.2
Swift 4
Swift 4.2
Swift 5.3
Xcode 12.3 macOS Catalina 10.15.4 (Intel-based Mac)

macOS Big Sur 11
(Apple silicon Mac)
iOS 14.3
macOS 11.1
tvOS 14.3
watchOS 7.2
DriverKit 20.2
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.3
iPadOS 13-14.3
macOS 10.9-11.1
tvOS 9-14.3
watchOS 2-7.2
DriverKit 19-20.2
iOS 10.3.1-14.3
tvOS 10.2-14.3
watchOS 3.2-7.2
Swift 4
Swift 4.2
Swift 5.3
Xcode 12.2 macOS Catalina 10.15.4 (Intel-based Mac)

macOS Big Sur 11
(Apple silicon Mac)
iOS 14.2
macOS 11
tvOS 14.2
watchOS 7.1
DriverKit 20
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.2
iPadOS 13-14.2
macOS 10.9-11
tvOS 9-14.2
watchOS 2-7.1
DriverKit 19-20
iOS 10.3.1-14.2
tvOS 10.2-14.2
watchOS 3.2-7.1
Swift 4
Swift 4.2
Swift 5.3
Xcode 12.1 macOS Catalina 10.15.4 (Intel-based Mac)

macOS Big Sur 11
(Apple silicon Mac)
iOS 14.1
macOS 10.15.6
tvOS 14
watchOS 7
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14.1
iPadOS 13-14.1
macOS 10.9-11
tvOS 9-14
watchOS 2-7
DriverKit 19
iOS 10.3.1-14.1
tvOS 10.2-14
watchOS 2-7
Swift 4
Swift 4.2
Swift 5.3
Xcode 12 macOS Catalina 10.15.4 (Intel-based Mac)
iOS 14
macOS 10.15.6
tvOS 14
watchOS 7
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 9-14
iPadOS 13-14
macOS 10.6-10.15.6
tvOS 9-14
watchOS 2-7
DriverKit 19
iOS 10.3.1-14
tvOS 10.2-14
watchOS 3.2-7
Swift 4
Swift 4.2
Swift 5.3
Xcode 11.7 macOS Catalina 10.15.2 iOS 13.7
macOS 10.15.6
tvOS 13.4
watchOS 6.2
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.7
iPadOS 13-13.7
macOS 10.6-10.15.6
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
iOS 10.3.1-13.7
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4
Swift 4.2
Swift 5.2
Xcode 11.6 macOS Catalina 10.15.2 iOS 13.6
macOS 10.15.6
tvOS 13.4
watchOS 6.2
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.6
iPadOS 13-13.6
macOS 10.6-10.5.6
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
iOS 10.3.1-13.6
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4
Swift 4.2
Swift 5.2
Xcode 11.5 macOS Catalina 10.15.2 iOS 13.5
macOS 10.15.4
tvOS 13.4
watchOS 6.2
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.5
iPadOS 13-13.5
macOS 10.6-10.15.4
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
iOS 10.3.1-13.5
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4
Swift 4.2
Swift 5.2
Xcode 11.4.x macOS Catalina 10.15.2 iOS 13.4
macOS 10.15.4
tvOS 13.4
watchOS 6.2
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.4.x
iPadOS 13-13.4.x
macOS 10.6-10.15.4
tvOS 9-13.4
watchOS 2-6.2
DriverKit 19
iOS 10.3.1-13.4.x
tvOS 10.2-13.4
watchOS 3.2-6.2
Swift 4
Swift 4.2
Swift 5.2
Xcode 11.3.x macOS Mojave 10.14.4 iOS 13.3
macOS 10.15.2
tvOS 13.3
watchOS 6.1.1
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.3
iPadOS 13-13.3
macOS 10.6-10.15.2
tvOS 9-13.3
watchOS 2-6.1.1
DriverKit 19
iOS 10.3.1-13.3
tvOS 10.2-13.3
watchOS 3.2-6.1.1
Swift 4
Swift 4.2
Swift 5.1
Xcode 11.2.x macOS Mojave 10.14.4 iOS 13.2
macOS 10.15.1
tvOS 13.2
watchOS 6.1
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.2.x
iPadOS 13-13.2.x
macOS 10.6-10.15.1
tvOS 9-13.2
watchOS 2-6.1
DriverKit 19
iOS 10.3.1-13.2.x
tvOS 10.2-13.2
watchOS 3.2-6.1
Swift 4
Swift 4.2
Swift 5.1
Xcode 11.1 macOS Mojave 10.14.4 iOS 13.1
macOS 10.15
tvOS 13
watchOS 6
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13.1
iPadOS 13-13.1
macOS 10.6-10.15
tvOS 9-13
watchOS 2-6
DriverKit 19
iOS 10.3.1-13.1
tvOS 10.2-13
watchOS 3.2-6
Swift 4
Swift 4.2
Swift 5.1
Xcode 11 macOS Mojave 10.14.4 iOS 13
macOS 10.15
tvOS 13
watchOS 6
DriverKit 19
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-13
iPadOS 13
macOS 10.6-10.15
tvOS 9-13
watchOS 2-6
DriverKit 19
iOS 10.3.1-13
tvOS 10.2-13
watchOS 3.2-6
Swift 4
Swift 4.2
Swift 5.1
Xcode 10.3 macOS Mojave 10.14.3 iOS 12.4
macOS 10.14.6
tvOS 12.4
watchOS 5.3
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-12.4
macOS 10.6-10.14.6
tvOS 9-12.4
watchOS 2-5.3
iOS 10.3.1-12.4
tvOS 10.2-12.4
watchOS 3.2-5.3
Swift 4
Swift 4.2
Swift 5
Xcode 10.2.x macOS Mojave 10.14.3 iOS 12.2
macOS 10.14.4
tvOS 12.2
watchOS 5.2
i386
x86_64
armv7
armv7s
armv7k
arm64
arm64e
arm64_32
iOS 8-12.2
macOS 10.6-10.14.4
tvOS 9-12.2
watchOS 2-5.2
iOS 8.1-12.2
tvOS 9-12.2
watchOS 2-5.2
Swift 4
Swift 4.2
Swift 5

Legend

Minimum OS Required: The version of macOS required to install this version of Xcode.

SDK: The version of SDKs included in this version of Xcode.

Architecture: The architectures supported for development by this version of Xcode.

OS: The iOS, iPadOS, macOS, tvOS, and watchOS versions supported by this version of Xcode for developing, installing, and debugging applications.

Simulator: Versions of iOS, tvOS, and watchOS simulators supported for development by this version of Xcode.

Swift: Version of Swift supported for development by this version of Xcode.

* Version of Xcode improves support for building and running apps in the Simulator under Rosetta. Launching Xcode itself under Rosetta is not supported. See Developer Technote “Resolving architecture build errors on Apple silicon” for more information.

** Developing for visionOS requires a Mac with Apple silicon.

Providing feedback and reporting bugs

Your feedback goes a long way toward making Xcode even better. With Feedback Assistant, you can report issues or request enhancements to APIs and tools. Provide detailed information about issues, including your system and developer tool versions, and any relevant crash logs or console messages. To ask questions and find answers from Apple engineers and other developers, visit the Apple Developer Forums.

Invalid private key and certificate pairing

If you receive an error message saying, "Xcode could not find a valid private-key/certificate pair for this profile in your keychain,” the Keychain Access application on your Mac is missing either the public or private key for the certificate you’re using to sign your app.

This often happens when you're trying to sign and build your app from a different Mac than the one you originally used to request your code signing certificate. It can also happen if your certificate has expired or has been revoked. Ensure that your app’s provisioning profile contains a valid code signing certificate, and that the Keychain Access application on your Mac contains that certificate, the private key originally used to generate that certificate, and the WWDR Intermediate Certificate.

For instructions on how to resolve this and other code signing errors, review the Code Signing Support page.

Apple security updates

For information on the security content of Xcode updates, visit the Apple security updates page.