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 Announcement | 6 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 Uncategorized | 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 Objc.io.

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

Materials for the webinar: BDDing your Objective-C Apps, September 2nd

Hello everyone,

Many of you have registered for our free webinar: BDDing your Objective-C Apps, September 2nd, with Paweł Dudek and Łukasz Warchoł. For those who have not – you still have a chance!

Our speakers are going to show how to empower your BDD workflow in AppCode. They’ll be relying heavily on various custom live templates for Cedar and Expecta. Those can be found on the GitHub together with the sample project and useful descriptions.

Feel free to download and investigate the materials in advance. And if you have any questions ask them here or during the live webinar.

Yours truly,
The AppCode Team

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

Do several things at once with AppCode

Since version 3 AppCode includes an awesome feature – multiple cursors and selections, that allows you to do many deals at a time increasing your productivity! Let’s see how you can use it and when it’s a good case for this feature.

Multiple selection allows you to put a cursor in multiple locations in your file and edit them at once. This feature works with all languages supported by AppCode such as Objective-C, C, C++, HTML, JavaScript, CSS and more.

Continue reading

Posted in Tips'n'Tricks | Tagged , | 1 Comment

Move refactoring moves routine away

AppCode offers a wide variety of code refactorings, which track down and correct the affected code references automatically. Some of them are widely known and often used, others are just missed. Move refactoring is present in AppCode since 2.1 version, but have you ever used it? Let’s take a closer look at it.

Generally speaking there’s nothing special about Move refactoring, but in complex projects with a large code base it really saves your time when, for example, you move a method to a new place that turns out to be a lot harder than you thought it would be. The Move refactoring allows you to move classes, protocols, methods, functions within a project – AppCode automatically corrects all references to the moved symbols in the source code.
Continue reading

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

Live Webinar: BDDing your Objective-C Apps, September 2nd

Join us Tuesday, September 2nd, 10:00 AM – 11:00 AM CEST (8:00 AM – 9:00 AM GMT) for a free webinar, BDDing your Objective-C Apps with Paweł Dudek and Łukasz Warchoł.

BDD is a great way to improve quality of your app and its code base. It is also a great way to improve your workflow and the way you create code. At the same time it is not easy to start BDDing your apps. If fact it is not easy to start writing tests at all.

With AppCode writing tests becomes easier. But when it comes to BDD it feels as if AppCode was designed from ground up to support it. This webinar will show how you can leverage AppCode to really empower BDD workflow. You will learn how code completion and code generation, as well as other, more advances, features of AppCode, can be used to greatly reduce time spent on typing and increase time spent on designing the architecture of your app.

Space is limited, please register now.

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.

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

Cherries of the AppCode by Julian Król

Julian KrólThis guest blog post is from Julian Król, iOS developer at Trifork.

He has been developing iOS apps for more than two years and continues to find it very exciting. In his free time he enjoys travelling and training martial arts. You can find him on
LinkedIn.

In this blog post I would like to mention a few features (from the very long list) that makes AppCode very valuable IDE for an iOS developer. Some of those features are in the AppCode for quite a long time but someone may missed them or be unaware of them. The functionalities I’m describing below are not the most popular and famous features of AppCode of them all but I want to highlight the things that can be unknown/forgotten and in my opinion are very valuable, making AppCode special IDE. As a word of an introduction and just mentioning for AppCode opponents, with this IDE you can create and modify xib and storyboards files! Describing features below I’m mentioning keyboard shortcuts, I’m referring to the Default AppCode key mapping (if you choose different – it’s totally fine but some features might be available through different key’s combination), keep that in mind. Examples and screenshots comes from the 3.0.3 version of the AppCode.

The feature I would like to start with is live templates. Here I would like to mention only three from the list (the full list of live templates can be found in the preferences, moreover you can add your own). Those three are: log, logv and logm. They makes logging very fast and easy to add. log stands for general purpose logs whereas logv is targeted for variables, logm for methods. While using logv there is very helpful context analyser which helps you log the right value with the prefix saying what exactly you are logging, awesome.
image03

Continue reading

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

AppCode 3.0.4 bug-fix update

Hello everyone,

We’ve announced 3.0.3 update recently. Unfortunately a critical bug in formatting was there – thanks to our user who mentioned and reported the problem. Today the update 3.0.4 with the fix is available.

Also in C/C++ code the autocompletion is now working after ‘->’, ‘::’, ‘->*’, etc.

You can download the build from our website or via ‘Check for updates’ AppCode menu.

Develop with pleasure!
The AppCode Team

Posted in Announcement | Tagged | 5 Comments

AppCode 3.0.3 bug-fix update is available

Hi everyone,

We’ve got another fresh update for you today. Several crucial problems were addressed in this build:

  • OC-9910 – Incorrect indentation of method’s block arguments;
  • OC-10033 – Merge Tool unable to merge resolving conflicts;
  • OC-9752 – Line and block comments always place comment at first column regardless the settings.

Also some use cases were improved for the new code inspection which offers to switch to modern literal syntax (#ifdef/#if sections handling, cases with specific symbols, cases that should consider type casts OC-10314, OC-10318).

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

Yours truly,
The AppCode Team

Posted in Announcement | Tagged | 3 Comments