AppCode

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.

Refactoring
Refactoring

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

Introduce Variable


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:

Renaming Localization Keys

Adding missing localizations:

Adding Missing Localizations

Highlighting unused keys:

Highlighting Unused Keys

Finding usages of a key:

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

ARC

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.

Method Generation

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

Add Parameter

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

Object With


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.
  • Code completion is ready to help you with UI-resources as well.
  • String resources completion got a new look.
  • Code completion now works for enum values as well.
Enum Completion

As for quick-fixes, please welcome yet another little helper to save your time: "Initialize variable" quick-fix. We've also added an ability to suppress some warnings, i.e. "Unused" warnings with "__unused" attribute; and Memory leak warnings with "NS_RETURNS_RETAINED" attribute. Quick-fixes automatically insert these attributes.

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).

Go to

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.

Support

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:
Go to Class

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.

Build Settings Editor


Simulator/Device Switching

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

Simulator