AppCode 3.0.1 update: Xcode 6 and basic Swift support

Last week Apple presented a bunch of new fantastic software pieces and technologies for iOS/OS X developers. New OS X, new iOS, new Xcode and even a new language! These innovations looks really impressive and promising, and we know you undoubtedly want to try them. So we did our best to deliver the new Xcode 6 support together with basic Swift support in a short time. And here it comes, please, welcome AppCode 3.0.1 update!

To try the new features check you have Xcode 6 installed and selected in AppCode’s Preferences | Xcode. Create new project from Xcode 6 template, build and run your app on simulator or device.

There is a couple of known issues with Xcode 6 however: XCTest does not work on iOS7.1, iOS8 devices; Logic tests don’t work on a simulator. These hopefully will be fixed in the upcoming updates.

We were really thrilled with the new programming language shown by Apple. It’s concise and full of modern concepts and ideas, which are familiar to us because of Kotlin language that we develop here in JetBrains. What we do in 3.0.1 update is the basic Swift support – you can open and edit coloured *.swift files. Let’s start with it and learn all together this new fantastic language.

A few other improvements and fixes were also included. Especially, for the UI Designer, where we’ve fixed some exceptions, added UITableViewCell/UICollectionViewCell subviews (OC-9654) and improved the font size (OC-10161).

It’s not a bad thing. It’s more like… I wish, for once, they would do something cool, like use a langage that’s popular, already exist, instead of creating a new one that doesn’t bring any new feature to what’s already available…

Apple did the right thing by building Swift on top of the Objective-C runtime and using the LLVM compiler tool suite. Furthermore, they have a language that they truly own and can grow without being constrained by another language community. Swift not popular? Then you haven’t checked the top 20 popular languages from TIOBE Index which lists it at #16:

I love it and do think it is the right move for iOS programming and surely they will improve on it however quoting the creator saying that it’s creation is at the center of the “new world” is a weak point to make. When would a creator say otherwise?

For methods and properties, sure, but not for other classes, unless there’s something I’m missing. From the docs: “In Swift, you define a class or a structure in a single file, and the external interface to that class or structure is automatically made available for other code to use.” There doesn’t seem to be any way to limit access to that external interface.

Nested types do seem to provide namespacing (if not visibility control), but your namespaces had better be pretty small or your source files are going to be pretty large.

Hi Vladimir,
thank you for the comment. AppCode has not bad support support of C++11
But we faced the problem with macros in exact cocos2dx project, please vote and follow the issue: http://youtrack.jetbrains.com/issue/OC-10026

Will you be able to provide full Swift support (refactoring and everything) even without Apple releasing the Swift compiler code?
I saw that it is possible to get the AST from the Swift compiler. But is that sufficient to build your AppCode features on?

WHY ALL THESE LANGUAGES? Kotlin, Swift, Java 8 & 9, JavaScript, etc. They’re all so similar. Obviously Java, Kotlin and Swift are orders of magnitude nicer than JavaScript and other scripting languages, but my point being, WHY CAN’T WE JUST DEFINE A SINGLE BEST OF BREED, STATE OF HE ART PROGRAMMING LANGUAGE FOR ALL PURPOSES AND PLATFORMS. Maybe Jetbrais will figure out a way to get all these languages to work together and run everywhere on everything.