AppCode 2017.1 EAP: override/implement improvements, better Swift 3 support and more!

Today we are starting the Early Access Program for AppCode 2017.1, and the first build is already available on our confluence page. This EAP does not require an active license, so you can use it for free until the build expiration date.


Swift 3 support

This build delivers the first part of Objective-C to Swift translation changes (SE-0005), including:

  • Improved resolution of Objective-C method names in Swift.
  • Initial support for the swift_name attribute, which can be used for nearly any code construct in Objective-C for specifying custom name to be used in Swift. Correct handling of this attribute also improves completion and navigation.

Note that support for these changes in refactorings/usages search is still in progress.

Another important change for mixed code projects is the implementation of SE-0033, which brings correct resolve for Objective-C constants aliased with the swift_wrapper attribute.

For pure Swift projects, this build brings the following improvements:

  • Correct parsing and resolution for operator functions together with the ability to generate them with the Implement action (^I):
    Implement protocol function
  • Better resolution for init calls (OC-14591)
  • SE-0037: Clarify interaction between comments & operators (OC-14761)
  • SE-0096: Converting dynamicType from a property to an operator (OC-14105)

Override/Implement in Swift

A lot of improvements for Override/Implement (^O/^I) are now available in AppCode:

  • Override/Implement popup shows members hierarchically (OC-14562):
    Override hierarchy
  • Designated/convenience/required initializers are marked with the appropriate keyword (OC-14534):
  • Class methods in extensions are correctly overridden (OC-14538)
  • Dynamic methods in extensions are offered for overriding (OC-14475)
  • Static methods are not suggested anymore (OC-14415)

Remote Hosts Access

As you may know, when you edit HTML/JavaScript/CSS files in AppCode you can enjoy most of the advanced features of WebStorm, our IDE for web development. Recently we received some requests from developers using AppCode for server-side Swift development asking us for the Remote Hosts Access plugin, and we’ve decided to bundle it.

Simply add a server for sources synchronization in Preferences | Build, Execution, Deployment | Deployment and setup directories you want to be uploaded on a particular server:
Then, select Upload to <servername> in the context menu and have your sources uploaded (or just enable automatic upload in Preferences | Build, Execution, Deployment | Deployment | Options).

Emoji support

Like all IntelliJ-based products, AppCode now correctly renders emoji in the editor and IDE views:
Emoji support

The ability to insert emoji using the native emoji chooser is not yet implemented (if you need it, please vote for IDEA-164993.)

Other changes

  • SourceKit inspections and intentions are now available in the Swift plugin for CLion both on macOS and Linux.
  • AppCode now creates a new Podfile using pod init command (OC-14779).
  • If you’re using Dvorak layout on macOS, you’ll be glad to know that keyboard shortcuts like ⌘/, ⇧⌘], ⇧⌘[, ⌘+ and others are now working properly with it (JRE-172).
  • Zero-latency typing mode is enabled by default in the editor.

The full release notes are available here.

Download AppCode 2017.1 EAP

Your AppCode team
The Drive to Develop