AppCode 3.3 EAP starts now!

Previous release was announced just a couple of weeks ago, however we promised to start Xcode 7/Swift 2.0 work as soon as possible. And today we are happy to show you the progress and the direction we are moving forward. Please welcome AppCode 3.3 Early Access Program build (142.4675)!

Objective-C + Xcode 7 support

In this build we started our work on supporting latest changes in Objective-C coming with Xcode 7. First, it’s nullability keywords, that are slightly different from those in Xcode 6:

  • __nullable is a compiler definition,
  • _Nullable is a keyword.

AppCode 3.2 supports nullability keywords coming with Xcode 6.4, and this EAP build includes parsing and resolving for these updated nullability keywords from Xcode 7.

Note: completion features are still in development and will be available in the upcoming EAP builds.

Xcode 7 introduced generics in Objective-C. This flexible mechanism is especially important when you bridge in mixed Swift and Objective-C code. AppCode 3.3 EAP now provides basic support for them as well. That includes parsing, highlighting and renaming of the generic parameters:

Note: Incorrect type inference (and thus false incompatible types reported by AppCode OC-12338), incorrectly generated methods implementation (OC-12339) and other possible problems will be addressed in the next EAP builds. Please, report them to our tracker.

If you experience a problem running your app on a simulator in AppCode, please check you switched to Xcode 7 GM, since there is a known problem with it while using Xcode 7 beta 6 (OC-12296).

Swift language support

We are working continuously on Swift language support, finishing all the constructs from Swift 1.2 and starting Swift 2.0. Here is the list of the recent improvements:

  • Assignment keyword from Swift 2.0 support, including completion:
  • @noescape modifier for closures is supported since this EAP.
  • Correct completion substitution in case of generics:
  • Correct handling of the hashbang line while reformatting (OC-12268).

Swift debugger

Starting with v3.2 you can debug your app in Swift in AppCode. A few goodies were introduced in this EAP:

  • Correct collections rendering:
  • Rendering for CoreFoundation types in Swift.

Adjust Code Style Settings via a Quick Fix

AppCode provides you with many useful quick fixes – they can convert to modern literal syntax, wrap lines with respondsToSelector condition and much more. And now there is another one, however quite different from the above. It’s called Adjust code style settings and appears in case you select several lines and press Alt+Enter for a Quick Fix. This quick fix allows you to get the list of code style options applicable to the selected piece of code only and adjust them right there, reviewing the changes immediately in the editor:

Preview Find in Path results

While searching through the code base with Find in Path you can now check the results on the fly – up to first 100 results are listed in preview right in the Find in Path dialog:

Switch JDK version inside AppCode

Current stable version is available in two versions: the usual one, that requires Java 1.6 installed on your system, and the one with the bundled custom JDK with fixes from JetBrains team. With this EAP the things become easier. There is only one build now, and bundled JDK is selected by default. If you want something different, invoke Find Action (Shift+Cmd+A) and type Switch IDE boot JDK… there, then select any prefered JDK installed in your system in the dialog:

New UI for Testing

Run XCTest, Kiwi or Google Test in your project and get the results in the separate AppCode toolwindow, which is now getting better and more convenient to use. First, test durations are shown right in the tree now and you can sort by duration after all tests finish.

If you prefer the vertical orientation for the testing results tool window, you can do that now by moving the window to the right or left, and the console will be adjusted accordingly (please, note, that you need to rerun the tests to get proper adjustments for now):

There are questions from our users from time to time, how to save tests results. We usually recommended to pin the tab and thus save the results to look at them afterwards. Now it’s done in an automatic way. Import test results from history in one click:

And more

Other notable changes in this EAP include:

  • RegEx usage possibility in Find and Replace.
  • Ability to edit code right in the diff viewer – simply unlock the editing mode.
  • For Mercurial Queues users: manage patches in the UI now – create patches; import local commit as patches; rename, apply, unapply and remove them.

Find the full list of fixes and improvements here.

That’s it! Download the build and give it a try right now. As usual EAP doesn’t require an active license and you can use it for free for 30 days.

P.S. In line with our code-naming tradition, this version is code-named Espressino, an Italian coffee drink. On the practical side, it’s another tag in our blog to find information on specific AppCode versions – search for Espressino to find posts about v3.3.

Sincerely yours,
The AppCode Team

This entry was posted in Announcement, Early Access Preview and tagged , , , . Bookmark the permalink.

45 Responses to AppCode 3.3 EAP starts now!

  1. Paul says:

    Using the bundled JDK the fonts look blurry on a Dell P2414H, but look fine on my MacBook screen.

    • Anastasia Kazakova says:

      Could you please try various options in Preferences | Appearance & Behavior | Appearance | Antialiasing? See if it’s make any difference for you and share with us.

      • Denys Zadorozhnyi says:

        I had “Without LCD rendering” selected after install and the text rendering was worth than in v3.2. I suggest you set “LCD Rendering in IDE and Editor” as a default option to avoid this “surprise”.

        • Anastasia Kazakova says:

          We are still investigating various options configurations, there are too many different cases. However, thanks for suggestion, we’ll keep in mind.

          • Hendrik says:

            I tried both font antialiasing settings and find both worse than the rendering in 3.2.
            With the “LCD rendering” setting fonts look much too heavy/bold for my taste.
            Without this setting, the font weight appears similar to 3.2, but the rendering quality seems worse.

          • Anastasia Kazakova says:

            Could you pls share some screenshots for the combinations? You can send them to appcode-support at

          • Abílio Costa says:

            I have the same experience as Hendrik. Using the boundled SDK fonts are too bold and blury. Without Subpixel rendering, fonts are not blurry, but have poor anti-aliasing.
            The only way to get a decent rendering is using Apple’s JDK 6.

          • Anastasia Kazakova says:

            Ok, thanks for the feedback.

      • Paul says:

        “Without LCD Rendering” makes it better, but I’m not sure it’s as good as before. That setting looks worse on the MacBook screen than “LCD Rendering in Editor and IDE”, so it seems like there are pros and cons to each setting. I’m going to switch to 1.6 JRE for now.

  2. Tropper says:

    Awesome! :-)

  3. Hubert Rabago says:

    That was fast! Much faster than I anticipated. I’ve been missing AppCode since Swift came out, so I’m really anxious to get back into it once Swift 2 is fully supported.

  4. Hendrik says:

    Awesome, thank you! I am looking forward to switching back to AppCode from Xcode (for iOS 9 Obj-C code).
    That “Adjust Code Style Settings” feature sounds amazingly useful. Great idea!

  5. Mars says:

    Each time I open a project in AppCode, it will process swift modules and takes a long time.

  6. luke says:

    Great stuff, please can you prioritise the refactorings/intentions that app code is famous for in swift. Right now there isnt much improvement over xcode when writing pure swift, however i can wait till full support is added. Also some of the navigations in swift arent working reliably

  7. Kirill Serebriakov says:

    AppCode 3.1 was much better for Objective-C coding. 3.2 & 3.3 have a lot of code resolving issues. Hope that will be fixed soon.

  8. Alex says:

    Please please… Pretty please…Bring the Ui designer support for swift to app code

  9. Valeriy says:

    AppCode 3.3 EAP freezes on start trying to open project. Only force quit can close it. How can I completely uninstall AppCode and get the fresh one ?

  10. Pingback: AppCode Review |

Leave a Reply to Anastasia Kazakova Cancel reply

Your email address will not be published. Required fields are marked *