You are right Deepesh. Just to clarify with Xcode 10.1 you can have a Swift 4.0 framework comaptible with Swift 4.2. However if you use Xcode 9.x that support Swift 4.0 it won’t work with Swift 4.0 frameworks using Xcode 10.1. Why? it’s not really the compatibility of the language syntax the problem is the binary compatibility. Swift is not yet binary interface stable (even after over 5 years). But that might change soon with Swift 5. I could go on about this but I am reserving this topic for another post, probably for my May installment. I’ll be talking about my experience building and delivering Swift iOS framework for the past 2 and half years of career (in May).