Open the Mac App Store to buy and download apps.
Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging. The Xcode IDE combined with the Cocoa frameworks and 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 place to experiment with Swift code, displaying instant results
• Interface Builder is a graphical UI design canvas with a live preview of your app
• 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
• Preview your interface in different screen sizes, orientations, or languages
• 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
Apple LLVM technology finds and fixes bugs for you
• Analyzer travels countless code paths looking for logical errors before they become bugs
• Live Issues identifies coding mistakes as you type with no need to build first
• Fix-it can confidently correct mistakes for you with just a keystroke
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 OS X Server to automatically build and test your apps
• Monitor performance and user interface test data using OS X Server to immediately spot regressions
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 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 OS X Server. Some features may require Internet access.
What's New in Version 7.0.1
Xcode 7.0.1 fixes bugs related to app thinning.
Xcode 7 includes Swift 2 and SDKs for iOS 9, watchOS 2, and OS X 10.11 El Capitan.
Now you can go beyond the simulator to test your app on an iPad, iPhone, or Apple Watch — for free. Simply enter your Apple ID into the Accounts preference pane, then attach a device to your Mac using a Lightning cable. You can use the same Apple ID you already use for iCloud, iTunes, or the App Store, or create a new one. Join the Apple Developer Program when you’re ready to distribute or submit your apps to the App Store.
New in Xcode 7:
• User interface testing uses accessibility to auto-generate tests for you and run them as part of a test suite
• Code coverage displays what parts of your code are covered (and not) by your test suite
• Interface Builder adds StackViews to simplify the construction of complex interfaces that use Auto Layout
• Game level editors add an animation design timeline with both 2D and 3D support
• Crash logs management adds support for OS X and app extensions
• Address sanitizer points out code that may crash at runtime even when you cannot reproduce yourself
• App thinning uploads all assets to the App Store so the store can then send an optimized app to your customers
• Support for watchOS 2 including project migration tool
New in Swift 2:
• Native error handling model adds a simple try / catch syntax that transparently wraps NSError
• Tests can now access both public and internal methods from external test processes
• Protocol extensions enable a natural chaining syntax for function calls
• Markdown syntax is supported in .swift file comments to add rich text in Quick Help
• Markdown comments in playgrounds render as beautiful rich text, perfect for curriculum documents
• Availability controls warn at compile time when using API that is too new for the minimum target OS
• SDKs for OS X, iOS, and watchOS have more natural interfaces when accessed from Swift
• New language syntax includes guard, defer, and repeat keywords
• Tool to convert source code to Swift 2 via menu: Edit > Convert > To Latest Swift Syntax
One of the worst pieces of software I’ve had to use
I have been a software engineer for almost 20 years, and I’ve suffered a lot of garbage. The worst software I’ve ever had to use are, in order:
1. The VXWorks IDE - had to be reinstalled every daylight savings time change, and that’s the tip of the iceberg. just wow.
2. iTunes - literally nothing here works
3. Xcode - see below
4. Windows ME - i can’t even, but at least it’s not Xcode
Xcode is aggressively bad. It is the kind of badness you write poetry about. Generations from now, people will talk about how bad Xcode was. When great writers bemoan the woe of the human experience, they are talking about Xcode.
Xcode crashes constantly. It is unbearably slow. The UI doesn’t make any sense. It’s missing features Visual Studio developers have had for a decade. It produces error messages that are utterly inscrutable. It’s quite clear Apple doesn’t give a flying fig about you, so think carefully before tying your career to this very broken ecosystem. If you must, install this thing, but do your work in vim and use xcodebuild to avoid ever having to suffer the distilled misery that is Xcode.
I wish I had learned COBOL instead of Objective-C and now I am stuck help.
Lacking in quality
I’ve always loved using Xcode, but 7.0.1 is almost unusable. It has crashed on me three times in a 15 minute span; twice when I was changing the font and once when I swiped the trackpad to check my notifications. I work as a QA engineer, so I understand that it is impossible to catch all bugs, but how do major issues like those make it into a release? If you need help in your QA department hire me and I will help to improve the quality of my favorite IDE. Whatever you decide to do, please fix these issues as soon as possible and make sure the next version is thoroughly tested before it is released.
Xcode is broken. It’s full of ugly bugs, it crashes several times per day and the performance is extremely poor. It’s unusable. No amount of radars have had an effect on this and the quality trend is downwards. I’ve left many reviews here with explicit, outlined bugs and none have been fixed. New bugs keep being introduced instead. I would say this is unacceptable but what choice do we iOS/Mac OS developers have? We’re depending on this tool but it’s very poor. Why is Apple ignoring their developers? Why is Apple treating their partners with such contempt? Why is Apple so hostile to the people who make their platforms viable?