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

Posted on by Stanislav Dombrovsky

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

Comments below can no longer be edited.

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

  1. Ruben says:

    February 1, 2019

    I had an issue with version 2018.3.3 and thanks to the team of AppCode the bug is in a resolved stage in 2019.1.EAP. But now “Building Module Maps” process takes about 30min

    • Stanislav Dombrovsky says:

      February 1, 2019

      Could you please submit a request here https://intellij-support.jetbrains.com/hc/en-us/?appcode and provide us with the comparison of performance in 2018.3.x after File | Invalidate Caches and 2019.1 after the same action?

      • Antekm says:

        February 15, 2019

        It takes ages for me as well… maybe not 30 minutes but quite a lot anyhow

  2. MarTinazzI says:

    March 19, 2019

    Any chance to AppCode come to windows/linux??? We need a Object-c/swift IDEA in that platform.

Subscribe

Subscribe to product updates