AppCode 2022.2 EAP3: Concurrency Interoperability with Objective-C and Support for Existential Any
A new AppCode 2022.2 EAP build (222.2964.42) is available for download. Builds are available from our website and via the Toolbox App. You can also update via patch if you’re using the 2022.2 EAP2 build.
Give the free EAP builds a try and let us know what you think about the changes! Share your feedback in the comments or submit it to our issue tracker.
Concurrency interoperability with Objective-C
The Swift language comes with a set of concurrency features that includes asynchronous functions and actors. The Objective-C language doesn’t have them, so asynchronous APIs are expressed manually through the use of completion handlers. Because the tight integration between Swift and Objective-C APIs is an important part of the developer experience on Apple platforms, Swift 5.5 added Concurrency interoperability with Objective-C.
AppCode 2022.2 now supports it as well, which includes the following:
- Correct code resolve in Swift for Objective-C asynchronous functions.
- Support for actor interoperability with Objective-C.
- Various Objective-C attributes like
__attribute__((swift_async_error(...)))are handled correctly.
Another new Swift feature now supported in AppCode is the existential
any. The scope of IDE support includes:
- Correct code parsing and type checking.
- Code completion and code generation.
- Changes to the code formatter.
The completion for
any is planned for the future versions (OC-22899).
Among other fixes for Swift language support, it’s worth mentioning a few pertaining to multiple trailing closure syntax (OC-20682, OC-22592). In addition, there are a couple of fixes for module maps in AppCode (OC-22526, OC-19757).
The full release notes are available here.
Your AppCode team
The Drive to Develop