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

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:
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 , | 5 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.

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:
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:
Continue reading

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

Join us in Berlin

Hi everyone,

Join us at CocoaHeads Berlin meet-up, Wednesday, November 19, 2014.

Anton Makeev (developer, AppCode team lead) is going to show you how your typical development workflow can benefit from using AppCode. While doing some sample coding tasks Anton will provide you with tips&tricks on code editing and generation, code analysis, refactorings and writing tests. By the way, do you know that AppCode is seamlessly integrated with the CocoaPods? Learn more during this talk!

The plan is to hold this in a workshop fashion. So install the latest AppCode 3 and follow Anton’s examples hands-on.

See you!
The AppCode Team

Posted in Announcement | Tagged | 1 Comment

AppCode 3.0.6 update is available now

Hello everyone,

Today we are making AppCode 3.0.6 available. In this build we’ve fixed a couple of major problems with Xcode 6 and OS X 10.10. In particular, we’ve improved running unit tests on iOS 7.0 device and running XCTests on OS X and simulators.

This update also addresses a crucial AppCode’s crash on OS X 10.10 (and in some situations on 10.9.4), a broken integration with the newest version of CocoaPods and a couple of exceptions in UI Designer.

The full list of changes is available here, and you can download the build from our website or via ‘Check for updates’ AppCode menu.

P.S. By the way, AppCode’s online help is live! Find it by this link and don’t be lost in the IDE’s features with it.

Yours as always,
The AppCode team

Posted in Announcement | Tagged | 19 Comments

AppCode’s web help goes online!

From time to time we all feel a little bit lost in tons of AppCode’s features. To help us to get around there are a numerous ways to obtain information about the IDE: you can follow our twitter where we publish tips of the day, read Tips’n'Tricks posts in this blog, check the playlist on YouTube for the useful videos about the IDE.

But today we’d like to share a new option with you. AppCode’s online help is now live! Find it by this link:

For example, check how to work with connections in UI Designer, or what actions are available in the embedded terminal in the IDE, or how to use the Git integration, and much more.

And of course you are welcome to share your feedback here or in the web help’s comments form.

To boost your productivity with AppCode we also recommend you to check ‘Tip of the Day’ and ‘Productivity Guide’ sections in the IDE, both available under Help menu.

Develop with pleasure!
The AppCode Team

Posted in Announcement | Leave a comment

Meet us at Mobiconf


Are you going to Kraków, Poland this week? Meet us at Mobiconf, the international conference on mobile apps development, October 2nd-3rd.

Though no JetBrains booth is planned for the event, feel free to catch Anastasia Kazakova (Product Marketing Manager) with any questions you have. And you are all welcome at Anastasia’s talk during the first day:

Anastasia Kazakova Oct 2nd, Thursday, 15:30 – 16:30
Tools and Techniques that help maintain a high quality code base

It’s obvious that nowadays just having working code is not enough. As projects and teams grow, the code often starts to diminish in quality, which increases maintainability costs. Code should be clean and concise. It should be easy to understand and consequently easy to maintain. A “GOTO FAIL” shouldn’t ever pass! Dozens of tools and techniques exist to help developers keep their code base clean and of high quality. During this talk we’re going to see what is available in the iOS/OSX space and see how combining these with good practices such as unit testing, we can help identify bugs, code smells and refactor to produce a better code base.

Hope to meet you there! For others we are still with you in all our internet resources.

See you!
The AppCode Team

Posted in Announcement | Leave a comment

On AppCode next

Hey all,

We would like to give you a small update on what’s been going on in the AppCode team.

As you may have heard already, a few weeks ago JetBrains announced CLion, a cross-platform C/C++ IDE. This IDE is a direct product of our experience with AppCode, where we’ve had C++ support for some time already and had time to test various approaches and gradually improve it. What you may not know is that both AppCode and CLion are being developed by the same team at the moment, because of huge overlap of functionality and required skills.

This takes sacrifices, as sometimes we have to draw resources from one IDE to another. For example, after the AppCode 3.0 release most of our efforts were put into CLion EAP. The good thing is that we have deployed quite a few performance optimizations and implemented many C++ fixes and improvements, which will be available in AppCode as well.

In other good news, Maxim Medvedev has recently joined the team to work on Swift. We’ll surely benefit from his great expertise in high-level languages and his experience with developing Groovy support in IntelliJ IDEA. We already have a ready parser and Objective-C-to-Swift resolve; now we are working on full resolve in Swift code. And resolve is a prerequisite to refactorings. There is still more work ahead, of course: completion, formatter, code generation, and inspections, not to mention unit testing and debugging support. We’ll be delivering this new functionality gradually, as we go.

In the upcoming AppCode 3.1, however, we’re going to focus on the essential values: performance, completion, and typing. First, the improvements we made for CLion will be included into the next AppCode EAP (we won’t give you ETA yet). We also plan to resolve the most critical outstanding performance issues. This work also takes a lot of effort and the right approach isn’t always obvious, as many performance issues are inherent to such a complex language as C with all its preprocessor delicacies.

BTW, our peers in the IntelliJ core team are working on a customized JDK implementation to support subpixel font rendering in Java 8. Chances are you won’t need to install Apple JDK soon—we’ll bundle all the necessary stuff in the app.

— Cheers,
The AppCode Team

Posted in Backstage | 8 Comments

AppCode 3.0.5 update is available

Hi everyone,

This update includes Xcode 6 GM & 6.1 compatibility improvements, including new iPhones 6 and 6 Plus support. An important problem with the storyboards using new Xcode 6 Adaptive Segues was fixed. Some critical issues were also addressed in this build:

  • OC-10659 – Sometimes code is lost during pasting;
  • OC-10621 – Macro is silently removed when coping and pasting or reformatting code.

The full list of changes is available here. Pay attention, that you have to download the build from our website in order to get this update. ‘Check for updates’ from AppCode menu won’t be available because of the code signing changes introduced by Apple.

Yours truly,
The AppCode Team

Posted in Announcement | Tagged | 6 Comments

Webinar Recording: BDDing your Objective-C apps

The recording of our September 2nd webinar, BDDing your Objective-C Apps, is now available on JetBrainsTV YouTube channel.

In this webinar, Paweł Dudek and Łukasz Warchoł show how you can leverage AppCode to really empower your BDD workflow.

Below are some questions from our webinar answered by Paweł, Łukasz and Anastasia.

Q: How I get the Live Templates from this webinar? Do I need to configure the Live Templates?
A: You can grab them on the GitHub. Just do File | Import settings… and that’s it, no extra configuration needed!

Q: How to create my own Live Template?
A: Just go to Preferences | Live Templates, click ‘+’ sign or just press Cmd+N to generate a new live template. Set template’s text, description, abbreviation, applicable scope and edit template’s variables. That’s it!

Q: What is mock?
A: There’s a great article on mocks that will get you into the subject in no time!

Q: How are the used libraries related to Kiwi? How does Specta compare to Kiwi?
A: Kiwi is a separate framework that comes with its own set of matching macros and Specta is combined with Expecta and other testing frameworks like OCMockito. Actually Specta and Kiwi are nearly similar, however there’s one small difference that is a huge plus on Specta’s side – focusing on tests. You can tell Specta to run just one given test (or a group of tests – you can focus it/context/describe blocks). And it works with running specs from command line (if you’d want to run single test from command line you’d have to prepare a special Scheme, which again – time). You can read more on this in latest issue of

About the Presenters:

Paweł DudekPaweł Dudek is Senior Software Engineer at Taptera, where he builds beautiful iOS apps for enterprise. TDD believer and practitioner. Beer and coffee lover. And bass guitars during free time.

Łukasz WarchołŁukasz Warchoł is iOS Software Engineer at Berlin based startup, Up-next. He believes that clean and well tested code are essential while working in a team. While not coding he is probably snowboarding or kitesurfing.

Thanks to all the attendees for the questions! If you still have some, please, contact Paweł, Łukasz or our team.

Read more about Tips&Tricks in AppCode, follow our blog and twitter (@appcode).

Thank you and develop with pleasure!

Posted in Tips'n'Tricks, Webinars | Tagged | Leave a comment