Somehow "Always Embed Swift Standard Libraries" for all of my targets is YES. Probably due to historical development from Swift 1 to 5. I'm using Xcode 10.2 now, upgraded the targets and my "Swift language version" is 5 for all of them.
Out of interest I created an empty new project with Xcode 10.2 and it is created with "Always Embed Swift Standard Libraries" as NO for both Debug and Release builds.
I have a feeling that even if I leave it as it is, Apple will strip standard Swift libraries anyway as a part of thinning for iOS 12.2+?
So what's the correct default since swift 5? Any benefits from either keeping it at YES or changing to NO?
[Update] Thanks to Cœur for a comment. It really looks like that one of the CocoaPods versions did it. Project is set to NO, but all the targets using CocoadPods were YES.
The default for new projects is NO and (as far as I know) always has been. I have never had "Always embed" set to YES, and my projects have always worked just fine. So unless there is some really good reason why this was YES, it probably shouldn't have been.
Note that the libraries are stripped out only if you are building against the 12.2 SDK and going onto a machine with 12.2 (or later). The libraries are still needed to run on a 12.1 or earlier machine.
I came here because I've updated my development environment to :
XCode 10.2 iOS 12.2 WatchOS 5.1.3
And my apps refused to even start on the watch, with a single message to console, saying library image not found. (using Swift4 build setting)
Setting "always embed" to on makes the app install process incredibly slow on the watch.
I updated the project to use Swift5, now the app at least starts up again.
FYI
If you set true for ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES on the target framework, you will probably receive ERROR ITMS-90206: Invalid Bundle.
In my case, I set true for target that is App / Unit Tests / UI Tests.