AppCode 2022.3 Release and End of Sales and Support
Hi,
AppCode 2022.3 has just been released! It comes compatible with macOS 13 and Xcode 14.2, brings more refactoring capabilities for Swift, enables language injections, and offers a new approach to settings synchronization.
With the release of v2022.3, we are sunsetting the product. As of December 14, 2022, we will no longer sell new subscriptions or renew existing ones for AppCode. All active subscriptions will get a fallback license to v2022.3.
Sunsetting AppCode
Since the release of AppCode 1.0 11 years ago, we’ve been applying our expertise to make coding for iOS/macOS more enjoyable. We’ve had many accomplishments, including first-class C++ support (from which CLion, our cross-platform C/C++ IDE, was born), an extremely fast release of initial support for the new Swift language, and finally, Kotlin Multiplatform Mobile technology, which combines our passion for Kotlin with our knowledge of mobile technologies.
While we’ve had some growth in terms of adoption, we didn’t reach the market share we had hoped for. We believe that the time has come to sunset the product and focus our efforts in other directions.
Until December 31, 2023, we will continue to provide technical support and release updates that specifically address compatibility issues with Xcode 14, as well as critical security updates as necessary. The scope of the updates will be limited to these two areas.
Please note that Kotlin Multiplatform Mobile is independent from the sunsetting of AppCode, and further investment in that tooling continues. For more information and updates, check out the Kotlin blog.
Extending the fallback
Normally when a fallback license is granted, the user receives a license for the version of the product that the user started their subscription with. But as a token of appreciation, we are doing things differently this time. Those who receive fallback licenses will get a license for the version that is available when their subscriptions end.
Last but not least, we would like to thank you for your support and for helping AppCode evolve over the years!
AppCode 2022.3 update
Compatibility
In this release, we’ve fixed an exception that happened on project opening, disabled the macOS compatibility warning, and fixed an issue with building to a device in the Reveal integration on macOS 13. With these updates, AppCode 2022.3 now comes compatible with macOS 13 and Xcode 14.2.
Better Swift refactoring capabilities
We have been keen to make Swift refactoring better. In this version we extended the list of abilities and improved existing ones:
- A new Inline function (⌥⌘N) refactoring was added. The user can specify whether all or only the selected invocation should be substituted, as well as whether the inlined function should be removed:
- When inlining, the IDE checks the accessibility of symbols used in the inlined function, properly processes
inout
function arguments, accurately inlines implicit calls to static methods, and more. - When creating a property from a usage or extracting one, AppCode now offers you a choice between
var
andlet
property declarations. - Extracting a method from a
static subscript
now generates astatic
method. It now also takes into account the variable’s lifetime and scope and no longer misses themutating
modifier. - Extracting a protocol conformance to
extension
no longer loses the documentation comments.
Enhanced completion for initializers and deinitializers
Code completion in Swift received several improvements:
- Smart completion now ignores
@autoclosure
for assignability when building a list of options. - When completing
init
anddeinit
keywords, redundant spaces are removed and the required braces and parentheses are added after the keywords. - AppCode 2022.3 also enables the complete statement action for initializers and deinitializers.
Intention previews
If you feel unsure about a quick-fix or are just wondering what exactly is going to change, open the Quick Documentation (F1
) popup for a selected quick-fix in the ⌥Enter
menu. This will activate the intention preview so you can see how the code is going to be updated with the fix applied.
Injected languages
For string literals in Swift that contain SQL strings, HTML code, regular expressions, or other examples from other languages, you can inject these languages into the string via the ⌥Enter
menu. Doing so will provide accurate code highlighting based on the language chosen, language-specific intentions, and a dedicated editor section for editing the specific code fragment.
Updates to UML diagrams
AppCode 2022.3 enhances UML diagrams for Swift and Objective-C classes:
- You can drag items from files in the Project View to the diagram.
- You can filter nodes on the diagram by scope, like all changed files, open files, or project source files.
New solution for settings synchronization
A new solution is available for synchronizing settings between different product installations or even between various IntelliJ-based IDEs. It stores settings in the cloud attached to the user’s JetBrains Account and is capable of syncing all shareable settings from the platform, bundled plugins, and third-party plugins. Learn more and enable it in Preferences | Settings Sync | Enable Settings Sync.
Your AppCode team
JetBrains
The Drive to Develop