Conflicts framework module UsefulFramework { umbrella header "UsefulFramework.h" conflict PointlessFramework, "we do something more useful than that framework" } Exploring Clang Modules – Samuel Giddins @ try! Swift Tokyo 2018 26
Automatic Module Map Discovery $ tree include include !"" baking.h !"" cake.h !"" cookie.h !"" module.modulemap Exploring Clang Modules – Samuel Giddins @ try! Swift Tokyo 2018 27
The Mixed Framework Process 1. Compile all .swift files 2. Generate ModuleName-Swift.h in the (empty) .framework 3. "Extend" existing module map with .Swift submodule 4. Compile .m files Exploring Clang Modules – Samuel Giddins @ try! Swift Tokyo 2018 34
Swift Static Libraries in CocoaPods All of the changes needed: https://github.com/CocoaPods/CocoaPods/pull/6966 Exploring Clang Modules – Samuel Giddins @ try! Swift Tokyo 2018 38
Are Modules the Future? • Tied to headers • Swift module stability • Still confusing • Better than C Exploring Clang Modules – Samuel Giddins @ try! Swift Tokyo 2018 39