Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging. The Xcode IDE combined with the Swift programming language make developing apps easy and fun.

Xcode includes the Xcode IDE, Swift and C/C++/Objective-C compilers, Instruments analysis tool, simulators, the latest SDKs, and hundreds of powerful features:

Innovative tools help you create great apps
• Swift is an intuitive programming language that is safe, fast, and modern
• SwiftUI is a revolutionary new framework to create user interfaces with a declarative Swift syntax
• Playgrounds are a fun way to experiment and interact with Swift code
• View debugging shows a 3D stack of all your app's UI view layers at runtime
• Split editors in virtually unlimited ways, show previews, or choose an assistant to see related content
• Live Issues display errors as you type, and Fix-its improve your code with just a click
• Source control navigator and service integrations help you manage code across a team

SwiftUI and Interface Builder make it easy to design your interface
• SwiftUI uses declarative Swift code that clearly describes your interface
• Design canvas graphically builds UI views using the library of controls and modifyers
• Preview SwiftUI code or UIKit interfaces in different screen sizes, orientations, and font sizes
• SwiftUI code is always in perfect sync with the graphical design canvas and previews
• Animations are built using simple commands that describe the action you want to see

Professional editor and debugger keep your code front and center
• Refactoring makes it easy to modify the structure of Swift, Objective-C, C, and C++ code
• Open Quickly instantly opens any file within your project
• Data tips and Quick Look can inspect a variable by hovering your mouse over code while debugging
• Third-party app extensions can add new capabilities to the source editor

Test driven development is built right in
• Use the Test Navigator to add, edit, or run unit tests or user interface tests with just a click
• Test Assistant makes it easy to edit your code and related tests, side-by-side
• Create continuous integration bots to build and test on a server Mac running Xcode

Instruments for performance analysis
• Compare CPU, disk, memory, and GPU performance as graphical tracks over time
• Identify performance bottlenecks, then dive deep into the code to uncover the cause
• Analyze your app directly, or sample the entire system with very little overhead
• Create custom instruments with unique visualizations to analyze your own code and frameworks

To test or run applications on an iPhone, iPad, Apple TV, or Apple Watch all you need is a free Apple ID. To submit your apps to the App Store you must be a member of the Apple Developer Program. Some features may require Internet access.

What’s New

Version 12.0

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

Platform features
• App Clips are a small part of your app that’s discoverable at the moment it’s needed, loads in seconds, and launches quickly
• WidgetKit uses SwiftUI to build beautiful new widgets that users can install directly on their iPhone home screen
• StoreKit testing framework and transaction manager make it easy to test and debug in-app purchases

Refined user interface
• Document tabs open any type of document in a lightweight editor tab, including logs, asset catalogs, and UI files
• Navigator fonts are now resizable based on the system setting, or can be manually configured
• Code completion has a new, simplified interface that is faster, and makes it easier to choose the correct code
• Organizer is completely redesigned, and reports new app metrics such as hitches in animation and scrolling

Swift and SwiftUI
• Performance for SwiftUI has been improved throughout, and new Lazy views can efficiently handle enormous data sets
• 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
• Swift compiler’s improved diagnostics make it much easier to understand coding mistakes, especially in SwiftUI code

Ratings and Reviews

3.3 out of 5
6.8K Ratings

6.8K Ratings

AnnoyedByTheApp ,

Cannot run, quit then run again.

An IDE that cannot run its own program twice in succession is bad. One that has had this bug for several versions is really bad. It seems if an internal Apple dev doesn't notice or say something, it won't get fixed. Numerous times we've tried using support, always to be refunded saying take it up as a bug report. And let's talk about documentation. No, there's almost no useful documentation, so let's not. Given thier billions, you would think they would spend a little on QA and documentation. Also, Swift is not a replacement for Obj-C, so quit pushing it as if it were. And a Mac is different than an iPad (for now) so document it correctly. Many APIs now refer to iOS and seem to say, "Oh, yeah, Mac is the same, sorta." C'mon, Apple, pay a little more attention to the dev environment, please!

mattpow232 ,

Shouldn’t be out of beta

Xcode in itself doesn’t change much year to year so on that end, everything is fine. However, this version of Xcode has completely ruined user interaction. I don’t actually believe that Apple even tested Xcode out using their trackpads because everything regarding storyboards is completely broken. When it comes to scripts, I have no issues. Everything just works. But when it comes to storyboards, I can resize an element or drag it to another spot without weird glitches such as the element flying off the screen and getting deleted. When I drop a textfield element and insert a default value, the text y position is so far down you can only see the top of the letter even though the font size is default and the alignment is perfectly centered horizontall and vertically. Changing between storyboard tabs such as going to the attributes inspector causes the object you are focused on to deselect. How did that even happen?

The worst part about this update is that Xcode 9 Beta 4 was a better build than this release and that was 6 weeks ago. I would say that I don’t recommend updating to this new version as it’s usability seems to be even less than beta to me, but unfortunately, Apple kind of puts you between a rock and a hard place. You basically have to update to this version to keep apps up to date and release those brand new apps to iOS 11 devices.

the_good_bad_and_ugly ,


Easy to use. Able to be factory restored by internet. Able to debug iPhone INTERACTIVELY. FULL HARDWARE SUPPORT for the best multimedia - not software emulation freeware - real industry codec.

Runs true BSD Unix great "tools", GPL too. Very stable kernel. The best quality hardware. Visually outstanding and handicap features too. Absolutely the best.

One caveat is the weakness in the "game release" - directx has never gotten supported (for game porters to make use of) - however Unity game engine DOES support Apple OS.

But really - cross platform is bull (anything worth it needs non-free drivers); most apps today would be better done with XCode than to attempt cpt's. Something like Unity uses XCode that so game writers don't have to do it - they somehow have the time and money to make tools Apple has not had ? :) Just a gaming company?

Truly apple is often 1 yr behind on "hardware version" release - but they are so much better releases they run better than a pc with "later" hardware.

XCODE allows developers to release apps that span support for users seemlessly on app store. Once released (if a user doesn't upgrade their device), their device never stops being able to run the app software. The developer can release for many apple platforms at once. They are not "guessing game" support each apple device is directly supported. Support is not a guessing game with apple.


Apple Inc.
11.2 GB

macOS 10.15.4 or later



Age Rating


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.

More By This Developer