Welcome AppCode 3.3 release: Xcode 7 support, Swift 2, debugger improvements and more!

AppCode 3.3 is here, so download and try it right now! Anyone with an active license can get this update absolutely for free.

AppCode 3.3 SplashAs you remember, since the previous release we’ve been working hard to bring you new Xcode 7 and Swift 2 features. A lot of them are already included in this release, so let’s see what’s on board!

Xcode support

If you’re wondering about Xcode 7 compatibility, the answer is in: starting from v3.3 AppCode officially supports Xcode 7 and 7.1. That said, we no longer support Xcode 6.x on OS X 10.11 due to the recent changes in AppStore submission policy.

Generics & nullability

When you bridge from Objective-C to Swift, it is especially important to use generic types. AppCode supports them with accurate parsing, helpful highlighting, and handy renaming of generic parameters.

generics@2x

_Nonnull and _Nullable annotations are also supported now.

Swift 2

We’ve put a lot of effort into making your Swift experience smoother by adding parsing, highlighting and completion for new statements into almost every EAP build released in the last two months. For the full list of Swift 2 statements supported by AppCode, please see our confluence page. Let us highlight the most important ones:

  • error handling statements and keywords (except rethrows)swift2@2x
  • defer blocks
  • repeatwhile statement
  • guard keyword
  • indirect modifiers for recursive enums
    indirect

This update also brings completion for Swift nested types and correct substitution for class methods with generics parameters.

Swift Debugger

As we continue working on the debugger, this release features improved rendering of collections and adds rendering for CoreFoundation types in Swift.

Swift debugger

C/C++

A couple of important features for C++ developers in this release (thanks to CLion team) include:

  • If you are using AppCode for Unreal Engine 4 development, you’ll be glad to learn that __LINE__ macro is now supported correctly.
  • Take advantage of Rename refactoring for template parameters in C++, as well as Find Usages and code inspection for unused template parameters.

Test runner

Run XCTest, Kiwi or Google Test in your project and get the results in a separate AppCode tool window, now improved and more user-friendly than before:

  • Sort tests by duration right in the test tree
    testing_ui@2x
  • All test results are automatically saved and importable from history in one click

And if you prefer the vertical orientation for the testing results tool window, simply move the window to the right or left.

Version control

If you notice a small issue while looking at a diff, you can now easily fix it right in the commit dialog, just by enabling the editing mode.

Edit in commit dialog

This change applies to all version control systems supported by AppCode. There are some per-system improvements as well:

  • Git users can now access branch operations right from the VCS Log Viewer (including the Rebase action)
  • If you use Perforce, shelve your changes easily by invoking “Shelve in Perforce…”. You can also browse the corresponding change list and unshelve it whenever you want.
  • Mercurial Queues users can benefit from dedicated tools for managing patches. It’s possible to create, rename, apply or remove patches directly from AppCode UI.

General IDE improvements

Talking about general IDE experience, this release delivers the following new features:

  • Preview for the first 100 search results in Find in Path dialog
  • Adjust code style settings quick-fix for changing code-style settings only for the selected piece of code
  • RegEx expressions in Find and Replace
  • Color deficiency adjustments in Appearance settings
  • Improvements in the default Look & Feel
  • JavaScript debugger bundled in AppCode by default

We’ll continue to work on Swift 2 functionality to deliver more features to you in the following 3.3.x updates.

Also, AppCode 3.3 release is aligned with updates for our other desktop products that comprise JetBrains Toolbox.

Note that the new JetBrains licensing model is already effective starting November 2, 2015. Check out the current AppCode pricing and plans on our site.

Develop with pleasure,
The AppCode Team

Posted in Announcement | Tagged , | 9 Comments

AppCode 3.3 RC2

After the first release candidate we decided to publish an update with a fix for the problem with wrong environment variables passed by AppCode while running applications on iOS 9.1 devices (as a result, it was impossible for the application to create any file on iOS device including SQLite databases, temp files etc).

This particular issue is fixed in RC2 (build 143.380). You can download it on our confluence page, patch update from RC1 is also available. This build does not require an active license, so you can use it in the same way as EAP.

Develop with pleasure,
AppCode team

Posted in Announcement | Tagged , | 2 Comments

AppCode 3.3 Release Candidate

AppCode 3.3 Release Candidate (build 143.379) is out today with all the final fixes and improvements! Please note that starting from this version Xcode 6.x on OS X 10.11 is no longer supported by AppCode due to recent changes in App Store submission introduced by Apple.

The most important changes in this build are:

  • Issue with Reveal integration was fixed and you can continue using it from AppCode (including latest 1.6.1 version).
  • Rename refactoring for template parameters in C++ is ready to use as well as corresponding Find Usages action and code inspection for unused template parameters.

Unfortunately, we had to switch off native file chooser dialog in this build due to the focus issues and crashes described here. We will do out best to fix all the problems and bring it back, so this is a temporary solution. You can still switch it on by changing value of ide.mac.file.chooser.native parameter in Registry (press Shift+CMD+A and type “Registry”), however we do not recommend doing this for better IDE experience.

A couple of weeks left before the official release of AppCode 3.3, and we really appreciate your feedback at this stage. 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.3 RC you need to have an active license (or start a 30-day trial period).

Stay tuned not to miss the release and be sure we’ll continue to work hard on Swift support to deliver more features in future AppCode versions!

Posted in Announcement | Tagged , , | 18 Comments

AppCode 3.3 EAP, build 143.249

New AppCode 3.3 EAP, build 143.249 is available for download. As usual, if you are using previous EAP, you will receive a patch update in the IDE.

You can see the full list of improvements and fixes in our tracker and here are the most notable changes:

Download a new EAP and give it a try. In case you find any problem, please, report it to us.

Develop with pleasure,
The AppCode Team

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

AppCode 3.3 EAP, build 143.116

New AppCode 3.3 EAP, build 143.116 is available for download. The patch update is also available if you are using previous 3.3 EAP build.

This build addresses several major problems with unit tests (OC-12481, OC-12425), especially the one with running tests with Xcode 7.1 beta. There are still some major issues with Xcode 7 and 7.1 beta, like missing tvOS simulator (as well as corresponding device), that we are currently investigating. In case you notice any significant problem (especially with Xcode 7.1 beta), please, report it to our tracker. We appreciate your help greatly!

We continue to work on Objective-C generics support and this build includes a fix for an unpleasant problem with parsing protocols as generic arguments or parameter constraints (OC-12395).

As for the Swift language, the indirect modifiers in Swift recursive enums are now supported (that includes correct parsing, highlighting and completion).

indirect

In addition, you can find several UI changes in Default Look&Feel Scheme like updated view for UI spinners, buttons, progress bars and default UI font set to Helvetica Neue Regular. Please, have a look and let us know what you think about these changes.

The full list of improvements can be found here.

Develop with pleasure,
The AppCode Team

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

New AppCode 3.3 EAP is here, build 142.5239

A fresh AppCode 3.3 EAP build 142.5239 is here! Download it from scratch, or get the update in the IDE – patch is available if you are using previous 3.3 EAP build.

There is a list of improvements and enhancements in our tracker, and as usual we outline the most important ones.

Swift 2 support
Parsing, highlighting and completion for the following keywords and statements are added:

  • do-catch and try statements for handling errors are supported now:
    do_catch_try
    Corresponding options for code formatting were also added to Preferences | Editor | Code Style | Swift.
  • throw and throws keywords are supported.
  • To support cleanup actions defer keyword is added:
    defer
  • We’ve also made a couple of improvements for highlighting and resolving performance in Swift code. Please, share with us if it is now better for your project or not.

Continue reading

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

AppCode 3.3 EAP, build 142.4859

New AppCode 3.3 EAP, build 142.4859 is available for download. The patch update is also available if you are using previous 3.3 EAP build.

We continue our work on Swift (and especially Swift 2.0) and this build introduces a couple of new features in this area:

  • Support for changes in function parameter labelling (mandatory names except for the first one).
  • Support for repeat-while statement.
  • Support for guard statement:
    guard

First 3.3 EAP introduced Objective-C generics support, however types were not inferred correctly there, and thus incompatible types were reported by AppCode (OC-12371). This particular problem is fixed now. Also expect further updates related to Objective-C generics in next EAP (OC-12338).

Besides, Swift Core Data renderers are available now in AppCode’s debugger.

In case you are using AppCode for development with Unreal Engine 4, you’ll be glad to learn that __LINE__ macro is now supported correctly. (However, some related issues are still left – CPP-4451)

In case you are using Perforce as a VCS, benefit from the new option available in the IDE UI – shelve your changes easily, by invoking Shelve in Perforce… action. You can also browse perforce shelf and unshelve it anytime you want.

The full list of fixes and improvements can be found here.

Develop with pleasure,
The AppCode Team

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

AppCode 3.3 EAP starts now!

Previous release was announced just a couple of weeks ago, however we promised to start Xcode 7/Swift 2.0 work as soon as possible. And today we are happy to show you the progress and the direction we are moving forward. Please welcome AppCode 3.3 Early Access Program build (142.4675)!
AppCode_33_EAP

Objective-C + Xcode 7 support

In this build we started our work on supporting latest changes in Objective-C coming with Xcode 7. First, it’s nullability keywords, that are slightly different from those in Xcode 6:

  • __nullable is a compiler definition,
  • _Nullable is a keyword.

AppCode 3.2 supports nullability keywords coming with Xcode 6.4, and this EAP build includes parsing and resolving for these updated nullability keywords from Xcode 7.

Note: completion features are still in development and will be available in the upcoming EAP builds.

Xcode 7 introduced generics in Objective-C. This flexible mechanism is especially important when you bridge in mixed Swift and Objective-C code. AppCode 3.3 EAP now provides basic support for them as well. That includes parsing, highlighting and renaming of the generic parameters:
objc_generics
Continue reading

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

Meet us at iOSDevUK!

Hi,

Great news – AppCode is coming to iOSDevUK this year! Meet us in Aberystwyth next week. We expect great talks about Swift and not only, as well as a great iOS community meeting together.

Though no JetBrains booth is planned for the event, feel free to catch Tatiana Shabaeva (AppCode QA Engineer) with any questions you have:
Tatiana.Shabaeva
She’ll be glad to show you a demo, tell about recently released AppCode 3.2 features, discuss our plans or simply share an AppCode sticker (until she runs out of them, so hurry up to catch her if you want one!).

See you at iOSDevUK,
The AppCode Team

Posted in Events | Leave a comment

Welcome AppCode 3.2 release!

Today we are happy to share with you the official release of AppCode 3.2. We’ve put a lot of effort into this to bring you better Swift development experience and a host of Swift productivity features.
splash_AppCode_3.2
Let’s see what’s on board!

  • With more accurate code resolve for Swift and mixed Objective-C and Swift code, you can rely on AppCode 3.2’s code completion, find usages, navigation and Rename refactoring. You will also be happy to hear that custom Swift frameworks are resolved correctly now, meaning that code completion and other features will work for them as well.
  • Swift string interpolation is now handled correctly, with symbol name properly highlighted and completed:string_interpolation
  • To speed up your Swift development, use the Override/Implement feature and override functions/implement protocols in one step:override_implement
  • Continue reading

Posted in Announcement | Tagged , , | 32 Comments