Open the Mac App Store to buy and download apps.
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 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 correct mistakes for you
Swift is a powerful, modern, and fun programming language
• Safe by design, Swift syntax and features prevent entire categories of bugs
• Fast code execution and compile time are powered by the proven LLVM compiler
• Modern language features are inspired by leading research, including:
- Closures unified with function pointers
- Tuples and multiple return values
- Structs as value types that support methods, extensions, protocols
- Powerful protocols that can extend functionality throughout your codebase
- Functional programming patterns including map and filter
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
• Hit a few keys and Open Quickly will instantly open any file within your project
• Message bubbles show errors, warnings, and other issues right beside your code
• Data tips show a variable's value by hovering your mouse over the code
• 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 using macOS Server to automatically build and test your apps
• Monitor performance and user interface test data using macOS Server to immediately spot regressions
• Analyzer travels countless code paths looking for logical errors before they become bugs
Instruments makes performance analysis beautiful
• Compare CPU, disk, memory, and OpenGL performance as graphical tracks over time
• Identify performance bottlenecks, then dive deep into the code to uncover the cause
• Monitor your app directly, or sample the entire system, with very little overhead
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. Continuous integration features require a current version of macOS Server. Some features may require Internet access.
What's New in Version 8.0
Xcode 8 includes Swift 3, and SDKs for iOS 10, watchOS 3, tvOS 10, and macOS Sierra.
New in Xcode 8:
• Editor generates docs, highlights current line, supports color and image literals in .swift files, and completes image names
• App extensions enable third parties to add new capabilities to the source editor
• Code signing can be managed automatically or using custom settings
• Runtime issues show alerts to identify leaks, UI alignment problems, or race conditions using the thread sanitizer
• Memory debugger visualizes and navigates the map of relationships among your data and objects at runtime
• Interface Builder gives you pixel-perfect control and preview for each target device, and can edit at all zoom levels
• San Francisco Mono default coding font and new dark Civic theme
• Documentation viewer searches a unified reference library using fuzzy matching, available even when offline
• Accessibility improvements within Interface Builder and throughout the IDE
• Build Siri extensions, iMessage apps, and sticker packs for Messages in iOS 10
New in Swift 3:
• Swift-enhanced API for Grand Central Dispatch and Core Graphics
• Uniform API style across all of Swift 3, including frameworks in the platform SDKs
• Playgrounds support for open source toolchains from Swift.org
• Xcode migrators help move your existing Swift code to Swift 3
• Swift 2.3 aids the transition to Swift 3 while providing access to the latest SDKs
A well thought-out IDE with LOTS of bugs
Lots of nice features, however it would be nice if Apple would concentrate on fixing XCode’s plethora of bugs instead of adding new groovy features. Based on Apple’s ad campaign of “I’m a Mac and I’m a PC” XCode is most definitely the fat greasy bald guy and is light years behind MS Visual Studio. Many XCode restarts each day. Things like break points just arbitrarily stop working. Sometimes I can comment out entire functions and other times I can’t with no rhyme or reason why, just another routine restart. And, with all the hype about Swift, it seems like simple debugging tools like console output would work in Swift, but <sigh> they don’t - and that would be a really cool feature addition (note my sarcasm). Currently I find myself limited to print statements to debug Swift. Really. Something tells me that bug/crash reports go straight to the trash and are never considered. Thanks, Apple for being so groovy and cool!
Don’t Upgrade if You Have Deadlines
I have two major Swift projects in process, and the forced upgrade to Swift 2.3 or 3 simply does not work. Virtually all of my CocoaPods dependencies broke including popular libs like SwiftyJson and Realm. Even updating to Swift 3 branches on some of these wasn’t sufficient to get the compiler happy. I really don’t have the time to make dozens of nit-picky syntax changes deep in the bowels of a dependency I did not author. And that’s even if I could make heads or tails out of the nonsensical compiler warnings.
Why was it not possible to have a Swift 2.2 switch so I could make changes at a reasonable pace? Is this going to happen again with Swift 4? Why the HELL did I switch to such an unstable language?
If you want to “play” with Xcode 8, make sure you set your environment up so you can quaranteen it. Make sure every project is backed up, committed, locked on a USB stick before you let Xcode 8 near it. Definitely do not use Xcode 8 with something you need release before Christmas.
This version of Xcode has ruined 3 of my apps that were built with previous versions of Xcode. X, Y’s, widths and weights in the size inspector for objects in storyboards seem to change to random values that aren’t even close to what they were set to before opening my projects in Xcode 8. After changing them back to what they are supposed to be and rebuilding the project, they change back to the incorrect values and will not save changes. Also, when trying to download updated provisioning profiles under Xcode/Preferences/Accounts, the download button grays out and never completes the download. Since 2009, I’ve developed over 40 apps using Xcode and this is by far the least stable version I’ve ever worked with. Please release an update as this version is unusable.