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 easier and more fun than ever before.
Xcode includes the Xcode IDE, Swift and Objective-C compilers, Instruments analysis tool, simulators, the latest SDKs, and hundreds of powerful features:
Innovative tools help you create great apps
• Swift is a revolutionary, open source programming language that is safe, fast, and modern
• Playgrounds are a fun way to experiment and interact with Swift code
• Interface Builder displays pixel-perfect UI for each target device and can edit at any zoom level
• View debugging shows a 3D stack of all your app's UI view layers at runtime
• Assistant editors show content related to your primary task
• Live Issues display errors as you type, and Fix-its can improve your code with just a click
• Source Control navigator makes it easy to manage code across a team
Interface Builder makes it easy to design your interface without code
• Storyboards let you arrange the complete flow of screens within your app
• See your custom controls rendered live within the design canvas
• Customize your interface for different devices, screen sizes, and orientations
• StackViews make it easy to reason about the layout of each section of your interface
• Create connections from your GUI design directly to the related source code
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
• Hit a few keys and Open Quickly will instantly open any file within your project
• Data tips show a variable's value by hovering your mouse over the code as it runs
• Quick Look variables while debugging to see the actual color, bezier path, image, and more
• 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 automatically build and test your apps
• Analyzer travels countless code paths looking for logical errors before they become bugs
Instruments makes performance analysis beautiful
• 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 deploy applications on an iOS device, Apple TV, or on 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.
Xcode 10 includes Swift 4.2 and SDKs for iOS 12, watchOS 5, tvOS 12, and macOS Mojave.
Dark mode in macOS Mojave
• All-new dark appearance throughout Xcode and Instruments
• Asset catalogs add dark and light variants to customize colors and image assets
• Interface Builder easily switches between dark and light variants of the app's interface
• Debugger switches Mac apps between dark and light variants without changing OS settings
• Code that differs from the repository server is highlighted directly within the editor, including:
- Local changes not yet pushed to the shared repository
- Upstream changes others have made
- Conflicts to address before committing
• Account integration with self-hosted and cloud servers from Atlassian Bitbucket, GitLab, and GitHub
• Account logins generate SSH keys on-demand and upload to the service provider
• Rebase is an option when pulling the latest version of code
• Multiple cursors in the editor enable many changes at once
• Code folding ribbon can hide any code block surrounded by braces
• Over-scroll makes it easy to display the last lines of code in the center of the screen
Playgrounds and machine learning
• Completely redesigned REPL-like playgrounds are much faster and more stable
• Run code at any time by hitting SHIFT-RETURN or click the inline Run button to execute to a specific line
• Interactively train and exercise new Create ML models directly within a playground
Test and debug
• Debug symbols download from a device 5x faster than before
• Tests run in parallel across many Simulators to take full advantage of all CPU cores
• Custom instruments provide unique data visualization for any code
• Memory debugger layout is redesigned to make it easier to navigate and visualize the whole app
• Metal shader debugger inspects the execution of vertex, fragment, compute, and tile shader code
• Metal dependency viewer shows a detailed graph of how resources are used
• New build system improves performance and is enabled by default for all projects
• Swift compiles each individual file significantly faster, and greatly improves incremental builds
Ratings and Reviews
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.
Haters gonna hate
Yes, there are problems. Lord knows. But, seriously. This is about as good as it gets as far as comprehensive, easy (enough) to use (/ make work) software development suites go. What top-secret, problem-free IDE are all these 1-star reviews using? Keep practicing auto-layout. Curse if you have to, but man. Our ancestors, punching holes in rolls of paper, blisters on their puncher hands bursting, taping over the (dammit) mistake they just made, entire project hanging in the balance, hot coffee boiling across their laps, would laugh at all of our iOS/Mac development “problems” in Xcode. Cmd+R to build AND run? C’mon. Yeah, sometimes there are red, scary, stop-sign lookin’ errors in there. That definitely happens. And yeah, sometimes they’re not even your fault. Cmd+Shift+K and pray, brother. Nobody’s twisting your arm to use Storyboards, but you totally can. I seen it done well. I seen it done not so well. I seen a lot of strange $#@% up in this mother. Maybe I'll punch a hole through my monitor tomorrow. But I’ll set up a new one. Maybe that broken constraint will turn out to be my fault after all. I doubt it, but who knows.
Seems nice but isnt
For simple projects, Xcode shines. For real world projects, Xcode is terrible. Take storyboards, there is no way you can actually use this in a collaborative environment with more than 1 developer contributing to it. How about auto layout; the super complex way Apple decided to solve this fundamental layout problem is very un-applesque. The lack of documentation for xcode internals and options is horrible. The stability of the platform is questionable - crashes on a wide variety of installations and for whatever reason.
I speculate that most 4-5 stars are given by happy go lucky, not so serious, not so big programmers/programming teams. For real world, or indie programming, Xcode is a big bag of hurt.
Most problematic; Apple and its engineers DO NOT SEEM TO CARE to listen to the development community. They simply develop what _they like_ to develop. It is an eletist, ivory tower, know it better than you, attitude. I really cant stand to work with this tool but I have to. I can get myself to accept many failures but this attitude is kill me and I think the developer community also.
With Family Sharing set up, up to six family members can use this app.