AppCode 3.0.1 update: Xcode 6 and basic Swift support

Posted on by Anastasia Kazakova

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).

Develop with pleasure!
The AppCode Team

Comments below can no longer be edited.

31 Responses to AppCode 3.0.1 update: Xcode 6 and basic Swift support

  1. redwarp says:

    June 10, 2014

    Fantastic langage ? Looks like scala to me… https://leverich.github.io/swiftislikescala/

    • Bastian says:

      June 10, 2014

      really ? I looked through the examples on http://de.scribd.com/doc/227879724/Swift-vs-Scala-2-11 and I wouldn’t mix up them.

    • Vince says:

      June 10, 2014

      Is that a bad thing?

      • redwarp says:

        June 11, 2014

        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…

        • bacon says:

          July 7, 2014

          …like java?

        • Conrad Taylor says:

          July 16, 2014

          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:

          http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

          “Most perplexing feedback on Swift: folks who see it (and judge it) as the end of a trek – but don’t realize it is the start of a new world.” — Chris Lattner, Swift Language creator

          • redwarp says:

            July 31, 2014

            It’s a revolution for us, but it’s not revolutionary.

          • Yoel says:

            August 15, 2014

            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?

    • Adrian says:

      June 11, 2014

      Looks like a lot of things, but then so does Scala.

      It’s not a bad start, but I suspect it might need to sprout exception handling and namespaces at some point.

      Well done Jetbrains for getting something out quickly.

      • Bill says:

        June 11, 2014

        Structs and classes act as namespaces.

        • David Moles says:

          June 26, 2014

          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.

          • alex kent says:

            September 5, 2014

            At the top level frameworks and bundles provide namespacing. For example:
            UIKit.UITableView…
            To disambiguate from:
            MyFramework.UITableView…

      • redwarp says:

        June 11, 2014

        JetBrains does a really good job ! Always swift (no pun intended) to match Apple announcement

    • prods says:

      July 15, 2014

      Looks like Rust (http://www.rust-lang.org/) to me.

      • Eric says:

        July 26, 2014

        What do you mean Rust? It looks like Kotlin. 🙂

  2. Daniel says:

    June 10, 2014

    This looks like a great update! The AppCode team continues to impress!

  3. Raymond says:

    June 11, 2014

    You guys rock!

  4. Paweł Kata says:

    June 11, 2014

    An awesome update! Thanks a lot! 😀

  5. Vince says:

    June 11, 2014

    I’ve just created a Swift class in 3.0.1 and it looks good. Adding support for a new language with a 1 Mb patch is very impressive (even if it does also require 5 Gb of Xcode 6 to be present).

    I think that it’s too early to provide useful feedback. The code runs but the editor does little more than syntax colouring. There’s everything still to do. Good luck.

  6. Jennifer Kuiper says:

    June 11, 2014

    Now that there are welcome proceedings in AppCode, amd 0xDBE was announced, is there any news on the C++ IDE? Really, really looking forward to that.

    • Anastasia Kazakova says:

      June 11, 2014

      We’ll start the public EAP as soon as the quality and performance are up to the expectations.

      • Jennifer Kuiper says:

        June 11, 2014

        No indication at all? 🙁 2014? 2015..?

        • Anastasia Kazakova says:

          June 11, 2014

          We hope to start public EAP this Fall but we can’t be 100%. We still have a lot to do.

  7. rx says:

    June 11, 2014

    guys you are amazing. Thanks a lot, swift has just become even more interesting !

  8. Vladimir Timofeev says:

    June 13, 2014

    Thanks! It is all good things… swift, new languages…
    But c++11 support very-very bad… AppCode can’t parse not only complex things, but so simple as https://github.com/cocos2d/cocos2d-x.
    Screenshot is here… http://vovkasm.skitch.vovkasm.org/IntroScene.h-20140613-232411.jpg

    Same as in 2.x releases… (((
    I think that write my own refactoring browser for C++ with clang faster, then wait for fixes…

    • Artur Novak says:

      June 16, 2014

      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

  9. Hendrik says:

    June 17, 2014

    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?

    • Anton Makeev says:

      June 21, 2014

      It should not be a problem, Hendrik, we’ll do our best.

  10. Eric says:

    July 26, 2014

    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. 🙂

    • Netsu says:

      November 6, 2014

      Yeah… But sadly somewhy they just don’t want to use Haskell!!!

Subscribe

Subscribe to product updates