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.
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 ⏎
:
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.
Navigation
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): - If you want to navigate to the actual
init
declaration, place the caret inside the parenthesis and press⌘B
(or⌘Click
inside the parenthesis):
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.
Your AppCode Team
JetBrains
The Drive to Develop