Backward compatibility issue when framework is built in Xcode 15.3 with Swift 5.10 and used in Xcode 15.2

I encountered a compilation issue when trying to use my SDK built in Xcode 15.3 with Xcode 15.2 for our app. According to Apple, Swift provides ABI Stability from Xcode 12.2 onwards, so we didn't face such issues before.

Attached is the compilation error message for your reference.

SDK is built with 'Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)', while this compiler is 'Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)')

There are two axes to this:

  • API stability — This is relevant at runtime.

  • Module stability — This is relevant at compile time.

API stability goes both forward and backwards. Your app runs on versions of the OS that were built with older versions of Swift and will continue to run on versions of the OS built with newer versions.

Module stability only works forward. Xcode 15.3 can use modules built with Xcode 15.2, but not vice versa.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Please make sure to reply as a reply. If you reply in the comments, I’m not notified. See Quinn’s Top Ten DevForums Tips for this and other tips.

Previously … There was no compile time issues

Right. These things do sometimes work by chance. However, my previous posts describes the things that are expected to work. That is, if those things fail then I’d send you off to file a bug about it.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Backward compatibility issue when framework is built in Xcode 15.3 with Swift 5.10 and used in Xcode 15.2
 
 
Q