article by Abhinav Rawat, Frank Nimphius, May 9 2022
Oracle Digital Assistant Native Client SDK for iOS provides you with a chat user interface for integrating an iOS app with Oracle Digital Assistant. With Release 22.04 of this SDK, we've changed the supported version of Swift from 5.3.2 to 5.6 to correct a problem that arose from incompatibility between the compiler versions. This incompatibility caused customers to get this error message on Swift 5.5.
This Stack Overflow post describes this situation, now remedied by the move to Version 5.6:
"Currently, pre-compiled frameworks can only be embedded if the compiler versions match! The swift compiler version that is used to compile the project must be the same version that was used to compile the framework."
Also, this post on Apple forums says to use XCFrameworks.
"Your library needs to be built from source as part of your project, or if it's a pre-compiled library, it must be built as an XCFramework. Swift has never guaranteed that compiled modules are compatible across complier versions outside of following those two options."
What this change means for customers who use the Oracle Digital Assistant client SDK for iOS
With the before mentioned change to Swift 5.6, the minimum requirements for the Oracle Digital Assistant client SDK for iOS changes to the below configuration
Swift Version: 5.5
Target iOS Version: 12.0+
Xcode Version: 13+
You'll see an error like the one in the following image if these minimum requirements are not met. Going forward, each version of the SDK will be compiled with the latest version of Swift that's available at the time of release.
What else is new in Oracle Digital Assistant version 22.04
Going by the need to use XCFrameworks, we've changed the way the SDK is bundled and distributed. Previously, we distributed separate frameworks for real devices and simulators. They are now bundled together into one .xcframework file, which means that you no longer need to replace frameworks when switching between real devices and simulators during development. The steps for integrating the SDK with an app remain the same.