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 all 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 ID.Apple Developer Program membership is not required.
Using Xcode
I opened the project in Xcode 12 and this popped up: Xcode 10.1??? That was a while ago. 😅 How to download. Regardless of your reason, the good news is that you can download old versions of Xcode (and a lot of other tools) from the Apple Developer Center. The link is a bit hidden though, so I’ll leave it here for you as an easy-to-find. Powerful visual communication. With the power to diagram, rapid-prototype, and design, OmniGraffle was made for professionals who need to organize or communicate visually—beautifully.
Get step-by-step guidance on how to use Xcode to build, test, and submit apps to the App Store.
- Windows 10 Go Back to Previous Build Not Working. Actually, it is quite common for users to demand a Windows OS downgrade or rollback by using the recovery feature found in this path: Settings Update & Security Recovery Go back to an earlier build.
- Can be found in Xcode 5.1.1. If you have/need other versions of Xcode installed then you can use xcode-select to change the active Xcode: $ xcode-select -s /Path/To/Xcode 6.4.app/ Xcode Command Line Tools. Open the Xcode preferences, then in the Downloads tab, select and install the Command Line Tools. (Note: Fink may work too but.
Submitting apps to the App Store using Xcode
If you’re an Apple Developer Program member, Xcode provides an integrated workflow to prepare and submit apps to App Store. You should use the latest version of Xcode available on the Mac App Store to submit your apps, or when available, the latest GM seed release from the Downloads page.
Do not submit apps built using beta software, as beta versions of Xcode, Operating Systems, and SDKs are for development and testing only.
Learning about changes to Xcode
To learn about the latest features and capabilities in Xcode, see What’s New in Xcode. For update details in the latest released versions, including each beta release, see the Xcode Release Notes.
Minimum requirements and supported SDKs
Xcode Version | Minimum OS Required | SDK | Architecture | OS | Simulator | Swift |
---|---|---|---|---|---|---|
Xcode 12.5 beta | macOS Big Sur 11 (Apple silicon Mac) | iOS 14.5 macOS 11.3 tvOS 14.5 watchOS 7.4 DriverKit 20.4 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14.5 iPadOS 13-14.5 macOS 10.9-11.3 tvOS 9-14.5 watchOS 2-7.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 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14.4 iPadOS 13-14.4 macOS 10.9-11.1 tvOS 9-14.3 watchOS 2-7.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 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14.3 iPadOS 13-14.3 macOS 10.9-11.1 tvOS 9-14.3 watchOS 2-7.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 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14.2 iPadOS 13-14.2 macOS 10.9-11 tvOS 9-14.2 watchOS 2-7.1 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14.1 iPadOS 13-14.1 macOS 10.9-11 tvOS 9-14 watchOS 2-7 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 9-14 iPadOS 13-14 macOS 10.6-10.15.6 tvOS 9-14 watchOS 2-7 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.7 iPadOS 13-13.7 macOS 10.6-10.15.6 tvOS 9-13.4 watchOS 2-6.2 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.6 iPadOS 13-13.6 macOS 10.6-10.5.6 tvOS 9-13.4 watchOS 2-6.2 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.5 iPadOS 13-13.5 macOS 10.6-10.15.4 tvOS 9-13.4 watchOS 2-6.2 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.4.x iPadOS 13-13.4.x macOS 10.6-10.15.4 tvOS 9-13.4 watchOS 2-6.2 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.3 iPadOS 13-13.3 macOS 10.6-10.15.2 tvOS 9-13.3 watchOS 2-6.1.1 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.2.x iPadOS 13-13.2.x macOS 10.6-10.15.1 tvOS 9-13.2 watchOS 2-6.1 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13.1 iPadOS 13-13.1 macOS 10.6-10.15 tvOS 9-13 watchOS 2-6 | 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 | x86_64 armv7 armv7s arm64 arm64e | iOS 8-13 iPadOS 13-13 macOS 10.6-10.15 tvOS 9-13 watchOS 2-6 | 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 | x86_64 armv7 armv7s arm64 arm64e | 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.2x | macOS Mojave 10.14.3 | iOS 12.2 macOS 10.14.4 tvOS 12.2 watchOS 5.2 | x86_64 armv7 armv7s arm64 arm64e | 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.
Providing feedback and reporting bugs
Your feedback goes a long way towards making Xcode even better. With Feedback Assistant, you can report issues or request enhancements to APIs and tools. Include detailed information about issues, including the system and developer tools version information, and any relevant crash logs or console messages. To ask questions and find answers by Apple engineers and other developers, visit the Apple Developer Forums.
Invalid private key and certificate pairing
If you received an error message saying, 'Xcode could not find a valid private-key/certificate pair for this profile in your keychain.' This error message indicates that the Keychain Access application on your Mac is missing either the public or private key for the certificate you are using to sign your app.
This often happens when you are 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
Xcode Download Earlier Version
For information on the security content of Xcode updates, visit the Apple security updates page.
Looking for ANTLR v3?
The latest version of ANTLR is 4.9.2, released March 11, 2021. As of 4.9.2, we have these code generation targets:
- C# (and an alternate C# target)
- Python (2 and 3)
All users should download the ANTLR tool itself and then choose a runtime target below, unless you are using Java which is built into the tool jar.
See Release Notes, README.md, Getting started, ANTLR 4 grammar repository, and How to build ANTLR itself.
Development Tools
There are plug-ins for Intellij, NetBeans, and Eclipse.
ANTLR tool and Java Target
- Complete ANTLR 4.9.2 Java binaries jar. Complete ANTLR 4.9.2 tool, Java runtime and ST 4.0.8, which lets you run the tool and the generated code.
- ANTLR 4.9.2 distribution (zip). Everything you need to build the tool and Java runtime from source.
- ANTLR 4.9.2 Java runtime binaries jar. Only what's needed for building and executing parsers/lexers generated in Java.
The Java jars are OSGi compatible so you should be able to use them within Eclipse.
To use maven, refer to group ID org.antlr and artifact ID antlr4 for the tool itself and antlr4-runtime for the Java runtime library in your pom.xml file. The latest version is 4.9.2:
See ANTLR 4 Maven plugin, ANTLR 4 Maven plug-in usage, and ANTLR 4 Maven Plugin API.
ANTLR v4 is written in ANTLR v3.5.2 and StringTemplate 4.3. In antlr-4.9.2-complete.jar, you'll find everything you need to run the ANTLR tool and make its generated parsers work.
C# Target
Via nuget, use Install-Package Antlr4.Runtime.Standard via Package Manager Console.
Sam Harwell, co-author of ANTLR 4, has an Alternative ANTLR 4 C# Target.Python Targets
Install with:
pip install antlr4-python2-runtime
pip install antlr4-python3-runtime
Or, you can download and untar the appropriate package from:
The runtimes are provided in the form of source code, so no additional installation is required.
See Python runtime targets for more information.
JavaScript Target
Install with:npm install antlr4
Xcode Download Previous Versions Version
Or, you can download antlr-javascript-runtime-4.9.2.zip.
The runtime is provided in the form of source code, so no additional installation is required. Simply refer to the JavaScript in that zip from your project, and eventually webpack it.
See JavaScript runtime target for more information.
C++ Target
- Mac users: antlr4-cpp-runtime-4.9.2-macos.zip (.h, .a, .dylib)
- Windows users: antlr4-cpp-runtime-4.7.2-vs2015.zip (built with VS2015 Windows 10)
- Linux and others use source distribution: antlr4-cpp-runtime-4.9.2-source.zip (.h, .cpp)
Go Target
Install it on your GOPATH via: go get github.com/antlr/antlr4/runtime/Go/antlr