Some framework files come with a module.modulemap
that contain "link framework" lines. For example, here is the current content of Intercom's module.modulemap
file:
framework module Intercom {
umbrella header "Intercom.h"
[...]
link framework "Foundation"
link framework "UIKit"
link framework "Accelerate"
[...]
}
I wanted to find out why the link framework
lines are necessary, so I tried to create a new project for a framework target using on Xcode 10.2, but regardless of what I do, it seems like the module.modulemap
file will simply be untouched (which is understandable, it seems like this file is meant to be manually modified).
What I want to know is, why is this necessary in the first place? The blame info + corresponding release notes seem to suggest that said lines were added to fix issues with dynamic frameworks and duplicate symbols, but not much more.