Today we are happy to share with you the official release of AppCode 3.2. We’ve put a lot of effort into this to bring you better Swift development experience and a host of Swift productivity features.
Let’s see what’s on board!
- With more accurate code resolve for Swift and mixed Objective-C and Swift code, you can rely on AppCode 3.2’s code completion, find usages, navigation and Rename refactoring. You will also be happy to hear that custom Swift frameworks are resolved correctly now, meaning that code completion and other features will work for them as well.
- Swift string interpolation is now handled correctly, with symbol name properly highlighted and completed:
- To speed up your Swift development, use the Override/Implement feature and override functions/implement protocols in one step:
- Quick Documentation for Swift shows not only the standard Apple documentation and your own documentation comments, but also classes, protocols, functions, signatures, and even the inferred type for constants and variables:
- Take the new debugger for Swift for a spin in AppCode 3.2.
- Objective-C users can benefit from nonnull/nullable annotations (from Xcode 6.4).
- A range of C++ parser improvements have made it into this release.
- The update brings many general improvements as well, including a compact one-side view for comparing revisions, the Distraction-Free mode, synchronous HTML tag editing, and more.
There are several other important changes. First, UI Designer has moved into an optional plugin. Second, we offer a separate distribution package targeting OS X 10.10 Yosemite (and higher) users with custom bundled JDK, based on JDK 1.8, which includes fixes from the JetBrains team for several annoying problems appeared in JDK. Read more about that in one of the EAP blog posts.
And last but not least, please note that AppCode 3.2 officially supports Xcode 6.4 on OS X 10.10 and Xcode 6.2 on OS 10.9. We’ve already shared some explanations in an earlier post talking about the release candidate, but we’ll do it here once again.
You may be asking, What about Xcode 7.0 and Swift 2.0?
The short answer is that some parts are already in development, while others will be started soon after this release of AppCode 3.2. But we believe you also deserve a longer and more detailed answer.
At their WWDC in June 2015, Apple revealed a few surprises. Among these were: Swift 2.0 support, generics in Objective-C, and a few other things that had some impact on our roadmap. At the time we were working on Xcode 6.4 and Swift 1.2, mostly addressing code resolve issues (especially for mixed scenarios where Objective-C and Swift code are used) and also trying to bring as many smart features to Swift as we had planned, such as override/implement code generation features, improved navigation, quick documentation with inferred types, and debugger support for Swift, amongst other things. These were all planned and most, if not all, were based on customer feedback.
With the announcement, we had a tough choice: continue with our plans or drastically change direction and focus on Xcode 7.0 and Swift 2.0.
After a lot of back and forth, we decided to:
- Finish our current work on Swift smart features in AppCode 3.2 for this August release.
- Begin working on Swift 2.0 and new Xcode 7 features support for the next release, with EAP starting around September.
Which brings us to this announcement and the reason why we currently can’t offer support for Xcode 7 and Swift 2.0.
The good news is that we’re already working on support for Xcode 7, slightly ahead of schedule. You can see the subtasks left in the following ticket in our tracker. In addition, you can find information about our progress in supporting Swift 2.0 and Objective-C generics.
Finally, please note that this update is free for all AppCode users with an active license subscription! To download the release build, please visit our site. Patch update from the previous stable version 3.1.7 is available (for non-custom JDK build case only). And if you’ve already installed the AppCode 3.2 RC2 build, then simply keep using it, since it’s the same as the released one.
Develop with pleasure!
JetBrains AppCode Team