Languages

Mobile dev

Education

What's New in AppCode 1.6?

New version of AppCode is way faster on big projects, comes with bundled GitHub plugin, even better refactorings, more inspections, smarter code completion, full Xcode 4.4 and Xcode 4.5 preview compatibility; supports CocoaPods projects, third-party project and file templates and all new Objective-C features; plus introduces own build settings editor, support for C++11, libc++ and much more!

Not to mention that AppCode 1.6 is a free update for everyone.

Refactoring

"Rename" and "Introduce" refactorings now work right in the editor without invoking any extra dialogs, and take into account usages in comments and non-code files. Moreover, you can rename things, like method selectors and category names.

Introduce Variable refactoring has been improved, you can now introduce a variable with initializer.

First-class i18n Support

Localization files get much more attention and care in AppCode 1.6, which means "Find Usages" action, "Rename" refactoring, completion and other smart features work for such files as well.

Renaming localization keys:

Adding missing localizations:

Highlighting unused keys:

Finding usages of a key:

Moreover, we have added a new inspection that allows you to find all non-localized strings in your Project, when run in a bulk mode(Code | Inspect Code).

Inspections

A bunch of new inspections are here to help you detect different potential problems. For instance, ensure all necessary enum values are covered in your switch statement.

In addition, Batch Inspections (available from the main menu Code | Inspect Code) got some treatment: they are now much faster, the results are categorized by the inspection type, plus you can perform bulk-fix of the problems right from the inspection results view: apply quick-fix to either a single problem, or the whole file, group or even the whole project.

That's not it! You can easily migrate your project to ARC — just pick the "ARC issues" group and select "Apply Fix 'Migrate to ARC'".

Boosted Method Generation

We've added some new options to method generation: you can now choose where to declare the method — in the implementation, interface, or a category. You can even add new methods to the framework classes — methods will be put into a new category for you.

From now on you can add parameters to existing method calls in a breeze.

Starting with this version, generating objectWith-methods has become easy as a pie!

Improved Coding Assistance and Navigation

Code completion has got a number of improvements:

Frequently used items are always shown on the top of the list.

Smart Completion is now available for macro arguments as well: use standard Ctrl+Shift+Space shortcut to get items suitable by type.

We have improved Go to declaration/definition actions: now you can reach any category or subclass using Cmd+Option+Click (Cmd+Option+B) and switch between declarations and definitions of classes, methods, functions, etc. using Cmd+Click (Cmd+B).

Also, Go to class/file/symbol is smarter now — it can match even a substring! File Structure view (Cmd+F12) shows inherited methods and methods from categories.

C/C++ Support

AppCode 1.6 has made an important step forward: C++11 and libc++ are now supported out of the box! Such C++11 features as auto, decltype, lambda expressions, right angle brackets, r-value references, strongly typed enums, template aliases and range based for-loop are waiting for you to use them in AppCode.

Moreover we've made quite a few improvements for those who develop in C++:

C++ templates support is improved.

Improved preprocessor, and as a result better boost support.

Implement/Override functions are now available for C++.

Go to Class can now find C++ classes:

Build Settings Editor

There's no need to leave AppCode to configure your project anymore: just use our new build settings editor! Find it under File | Project Settings... or even better — simply press Command + ; hotkey to access the editor.

Simulator/Device Switching

AppCode 1.6 introduces the easiest imaginable way to switch between Simulator and Device for running and debugging: