Learn how to be effective with AppCode from our self-contained workshop materials

Many of you ask us regularly how to start with AppCode and what’s the right way to become more productive by using it. We are handling workshops from time to time, but what if you’d like to do it on your own? We have a good answer for you! Our AppCode workshop materials on GitHub can help. We’ve collected there a number of practical exercises and tips covering main tasks you come across every day being an iOS/OS X developer. Here is a short overview how to use it and what features this workshop covers.

To start with AppCode we suggest you to use Default Keymap reference available online or in the IDE (Help | Default Keymap Reference). You can also go through the short quick start guide on our site.

Download the zip archive from the GitHub page or simply clone the project though the IDE interface. Do checkout from the version control and select GitHub there:

You’ll get the whole project then and will see the exercises for the following topics:

  • Navigation
  • Editing
  • Inspections
  • Live Templates
  • Refactoring
  • Testing
  • Todo
  • Version Control
  • CocoaPods
  • Tools

Instructions are placed in the source directory as a separate file:
Or right in the source files, in comments:

Follow these steps, learn tips, use the suggested shortcuts and see how to be effective in your iOS/OS X development with AppCode!

Develop with pleasure,
The AppCode Team

Posted in Tips'n'Tricks | Tagged , , | 3 Comments

AppCode 3.1.2 update

Hi everyone,

It’s time to start a new year with a new update! AppCode 3.1.2 with many Swift bug fixes is here. Get the update from the IDE itself or, if you like, download a fresh installer from the AppCode site.

This update includes several valuable fixes for those who are using Swift:

  • New class/file wizard is available for Swift now (Cmd+N):
  • We proceed with the resolve of the Swift code in AppCode and since this build overloaded methods are resolved correctly (OC-10956).
  • Autocompletion now works after self and super keywords (OC-11160).
  • Dictionary initializers are parsed correctly now (OC-11278).
  • Go to class (Cmd+O)/symbol (Alt+Cmd+O) was improved in a couple of useful cases (OC-11329, OC-11301, OC-11235):

The full list of fixes can be found in our tracker.

Sincerely yours,
The AppCode Team

Posted in Announcement | Tagged , | 26 Comments

AppCode 3.1.1 bug fix update

AppCode 3.1.1 bug fix update is available now.

If you’re using AppCode 3.1, you’ll get a notification about available update or you can check for updates manually. Or, if you like, you can download a fresh installer from the AppCode site.

This build addresses a couple of critical fixes:

  • Garbage characters in the console window are fixed (OC-10734).
  • Kiwi tests which were not working correctly with Xcode 6.1 (and 6.2 beta) are fixed now (OC-10741).
    Please, pay attention here that the lowest supported Kiwi version is now 2.3, that means that Kiwi with OCUnit is no longer supported, so switch to to the XCTest pod to use Kiwi.

A couple of fixes for the problems with resolving and parsing in Swift code are also included into this build:

  • Getting the value in var.0-style for non-tuple types is resolved correctly now (OC-11168).
  • Negative values in enums are parsed correctly now (OC-11305).
  • Shorthand external parameters parsing errors in some specific cases are fixed now (OC-11149).

The full list of fixes can be found in our tracker.

Sincerely yours,
The AppCode Team

Posted in Announcement | Tagged , | Leave a comment

Special thanks to the EAP builds evaluators


A week ago we’ve published AppCode 3.1 release, a new version of our iOS/OS X IDE with the Swift support on board. Now when you work with Swift in AppCode, you will be assisted with many essential tasks in smart ways.

Here we would like to say ‘thank you’ for all your feedback, suggestions and issues placed in our tracker during the EAP time. We appreciate this dialog greatly and believe that this helped us to improve the quality of the release. We also would like to mention several EAP evaluators which contribution was the most valuable for us and to present free licenses (or renewals) to them:

  • Chris Liscio
  • Bill A
  • Nikolaj Schumacher
  • Dee Madden

A personal message will be sent to each one with the details on how to obtain the license. If you see your name above and you do not get any e-mails during the day, ping us here in the comments.

Yours as always,
The AppCode Team

Posted in Uncategorized | 7 Comments

AppCode 3.1 released!

Hi everyone,

Great news for all of us: AppCode 3.1 is officially available! You will especially like it if you’ve already started developing with Swift. AppCode will help you with many basic tasks in the smartest way possible.
Continue reading

Posted in Announcement | Tagged , , | 20 Comments

Swift & community: infographics

Hello everyone,

Update: AppCode 3.1 with Swift support is released!

While working on Swift support in AppCode, we were extremely interested in Swift popularity in the community. Our research team spent some time investigating it and trying to answer the following questions:

  • How many projects are written on Swift already?
  • In which countries Swift is most popular?
  • What does the community think about Swift?
  • How does Swift popularity grow?

And a while back we got an interesting infographics which we’d like to share with you here.
Continue reading

Posted in Backstage | Tagged | Leave a comment

AppCode 3.1 Release Candidate

AppCode 3.1 Release Candidate (build 139.677) is out today with all the final fixes and improvements!

There’s only a few days left before the official release of AppCode 3.1 with Swift support, and it’s very important for us to get your last feedback on the new features. If you find any bug at all, please file an issue in our tracker.

The build is available for download on our confluence page (since it’s a release candidate build, there is no patch-update from the previous EAP version). Please note that to use AppCode 3.1 RC you need to have an active license (or start a 30-day trial period). To see the list of the issues fixed in this build, please go to the tracker.

Stay tuned not to miss the release, it’s coming closer! And be sure we’ll continue to enhance Swift functionality to deliver more features in the following 3.1.x updates.

Sincerely yours,
The AppCode Team

Posted in Announcement, Early Access Preview | Tagged | 10 Comments

Cooking Swift: An Interview with Maxim Medvedev

Max MedvedevSwift is a new and promising programming language introduced by Apple during the summer of 2014. In this interview we speak with Maxim Medvedev about Swift support in AppCode, our IDE for iOS/OS X developers. Maxim joined the AppCode team in summer and drives the Swift development at present. AppCode 3.1 is going to be released later this year with many intelligent features that will help you start using the new language.

Hello Maxim and thank you for taking the time to speak with us. Can you tell us a bit about yourself and your background?

Hi. I graduated from Software Engineering Department of Saint-Petersburg State University, and thus met a lot of my future colleagues there. Within the Mathematics & Mechanics Faculty were professors from JetBrains so it’s no surprise that I joined the company as a student and got started working on Groovy support. This summer I switched to Swift, which I find very similar to Groovy in terms of IDE support. Both languages have type inference, closures, traits/extensions and high-order functions.

Why have you decided to work on Swift support with the AppCode team?

For me it’s a super exciting experience to support a language from the very beginning: from a simple parser to smart and complicated refactorings. So I took my chance to make the journey with the AppCode team, trying to make progress quickly but with no loss in quality.

What benefits do you see in Swift for iOS developers?

Swift is a new language, but at the same time it follows all modern programming trends and principles. If you have followed the changes in Java or C# over the years, you’ll be able to easily begin programming for iOS/OS X. You will at least know what to expect. For example, Swift brings strong typization to developers that not only reduces the amount of typed characters, but also assists with the bug catching, long-term code support and code performance.

There are some controversial points as well, for example, meaningful whitespaces around an operator that is regulated by the complicated system of rules, or the lack of the exception handling mechanism.

People say, “JetBrains is cooking parsers for breakfast.” Was it so easy for you?

Swift grammar is quite large and comprehensive, so something was left for the lunch as well =) . But I can’t say it was a super complicated task to build a parser having a language’s syntax description. I’ve used an open source tool – Grammar Kit (available as a plugin for IntelliJ IDEA), developed by my colleague from the 0xDBE team (0xDBE is a new IDE for DBAs and SQL Developers). Greg Shrago created this tool while solving a problem with many SQL dialects that need to be parsed there. And I used it for Swift. It made my ‘cooking’ job easier.

Have you met any interesting challenges when developing Swift support that you’d like to share?

The most challenging task for me was Swift’s custom operators with custom precedence and associativity values. I have never met something like this before. To cover this case I finally implemented a two-level parser. First, it handles all the expressions without taking into consideration operators characteristics; and only then it builds the actual binary tree and calculates operator’s type, checks syntax and semantics errors.

What are the future plans in terms of Swift?

Before the AppCode 3.1 release we need to make the current Swift feature set stable: completion, code formatting, find usages, navigation options, Rename refactoring. Some interesting features are in development as well, but I won’t speak about them now because I’m not sure they’ll be ready before 3.1. We’ll further continue work on Swift support and provide you with more updates in future.

Thank you for your time it has been a pleasure. If you have questions that you would like to ask Maxim, please use the comment section below.

To try the latest AppCode 3.1 EAP build with Swift support visit our EAP page.

Yours as always,
The AppCode Team

Posted in Backstage | Tagged , | 4 Comments

AppCode 3.1 Champurrado EAP: unit testing in Swift

Hello everyone,

We’re getting closer and closer to the final release date, and probably the last big feature coming to 3.1 is here now. Nearly every developer considers unit testing as the essential part of the workflow. This EAP brings the Swift unit testing support. Use the XCTest framework, run all tests in one go or a single one, explore statistics, navigate to source and rerun tests from the dedicated view with the results:

This build also addresses a couple of other improvements for Swift:

  • Go to class (Cmd+O) and Go to symbol (Alt+Cmd+O) navigation actions works more accurately with code in Swift now.
  • Editor performance in case of code in Swift was improved.

Take a look at the complete list of changes, and our issue tracker and forums are open for your feedback!

As usual, you can find the latest EAP build here.

Sincerely yours,
The AppCode Team

Posted in Announcement, Early Access Preview | Tagged , | Leave a comment

AppCode 3.1 EAP: new debugger and file structure view for Swift

Hi everyone!

A couple of days ago we published the second EAP build of AppCode 3.1 with many Swift improvements. Now it’s time to get a new debugger! We’ve updated the LLDB framework used in AppCode to match with Xcode 6.1. Try the build and let us know what you think.

The second EAP (139.475) is still available for download in case of any critical problem you can meet with this build. Some issues are known, like this one.

This EAP also includes file structure view for Swift code. Press Cmd+F12 and use the pop-up to quickly navigate through the structure of the current file:

The full list of fixed issues can be found in our issue tracker.

Yours truly,
The AppCode Team

Posted in Announcement, Early Access Preview | Tagged , | 10 Comments