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.
Xcode 9.4.1 includes Swift 4.1 and SDKs for iOS 11.4, watchOS 4.3, tvOS 11.4, and macOS High Sierra 10.13.4
• Fixes a security issue in the included Git support and command-line tool
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.