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

Hi,

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 | 5 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.
AC31_970x250
Continue reading

Posted in Announcement | Tagged , , | 16 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:
swift_test_run

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:
file_structure

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 , | 8 Comments

AppCode 3.1 Champurrado EAP: better Swift support and performance improvements

Hello everyone!

Today a new AppCode Early Access build is available for download. We’ve got a lot of interesting and useful feedback about our new Swift support after the Champurrado EAP opening, and to stir up your enthusiasm even further we are ready to present some new Swift features.

In order to make the code easier to read AppCode highlights it using specified color scheme. We’ve implemented this feature for Swift now. To select from the pre-defined color schemes or create your own one go to Preferences | Editor | Colors & Fonts | Swift. Preview will allow you to evaluate the settings:
colors
Because of the changes users that have some customized color schemes imported from the previous AppCode versions to 3.1 EAP have to re-import them (through removing the ~/Library/Preferences/appCode31 and restarting the EAP) or check manually that the preferred colors are used there.
Continue reading

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

AppCode joins Swift club with 3.1 EAP

Most of us have read or at least heard of Gulliver’s Travels by Jonathan Swift. Well, we kind of feel like a Gulliver now, as we take a big step forward and start with Swift support in AppCode!

This summer, soon after the Apple event, we announced basic editing and highlighting for Swift code. Since then we’ve implemented resolve in Swift code and built a couple of useful features on top of that. So, let’s have a look at what’s already available in this EAP.

Swift
Start with creating a Swift-based project or just a new Swift file (select New | File from Xcode Template…) in the currently existing project. Now you can write some code, autocompletion for the language keywords will assist you with that.

After implementing the most part of resolve in Swift code, we are able now to provide you with smart features. Find Usages goes first! It helps you quickly find all pieces of code referencing a symbol at the caret, no matter if the symbol is a class, function, variable, constant, or type.

If you simply place a caret on a symbol in your Swift code, AppCode highlights all the usages within the current file and also marks them all in the right gutter:
highlighting_usages
If you are interested in the full list of usages, press Alt+F7 to have AppCode find all usages for you and collect them in a separate window. You can group the usages there by your preferred criteria, for example by directory:
find_usages
Continue reading

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