News

AppCode starts 2019.1 EAP: the first part of Swift 5 support and long-awaited resolve fixes

Hi everyone,

Today we are starting the Early Access Program for AppCode 2019.1. Build 191.4738.5 is now available for download from our site. This EAP does not require an active subscription, so you can use it for free all the way up until the build expiration date.
AppCode 2019.1 EAP

Swift

Language support

This build starts off our support for Swift 5:

  • SE-0224 (Support ‘less than’ operator in compilation conditions)
  • SE-0227 (Identity key path)
  • SE-0230 (Flatten nested optionals resulting from try?)

In addition, AppCode now supports subscript and complex type components in Swift key paths, and protocol composition as supertype (OC-16054).

Multiline strings

Now you can easily convert a string literal to the multiline string by pressing :String literal to multiline string

Important fixes

Resolve and inspections

When you select the simulator in your IDE, it should resolve all the entities using SDK versions for the simulator; the same is true for the device. For a long time, AppCode only resolved code entities using the device SDKs. It caused the following problems:

  • The SourceKit inspection sometimes worked incorrectly because of the wrong paths in compiler arguments (for example, a “No such module” error was shown, or no warnings and errors were displayed).
  • Project sources from DerivedSources directory were not resolved.

These issues should be fixed (there are still some problems, but we are working on them). Note that the amount of memory needed for AppCode can grow, because we are now processing even more code symbols.

This build also brings a fix for the issue where autogenerated CoreData and intent sources were not resolved.

We fixed the navigation issue when Go To Declaration (⌘B or ⌘Click) invoked on an initializer always led to the init method declaration (that caused the behavior described in OC-15774). Now navigation works in the following way:

  • If you want to jump to the class declaration, place the caret in the class name before the parenthesis and press ⌘B (or ⌘Click on the class name):Go to class declaration
  • If you want to navigate to the actual init declaration, place the caret inside the parenthesis and press ⌘B (or ⌘Click inside the parenthesis):Go to init from the base class

Building

In AppCode 2018.3.x updates, we have temporarily switched from working directly with Xcode build system (faster incremental builds) to xcodebuild invocation when building the project (slower incremental builds). The reason for this is an issue appeared when using Xcode 10.x with AppCode. We fixed it now and incremental builds should be faster again.

That’s it! See the full list of fixes in our tracker.

Download AppCode 2019.1 EAP

Your AppCode Team
JetBrains
The Drive to Develop