Distribute engine as Flutter.xcframework #60109
Labels
c: new feature
Nothing broken; request for a new capability
c: proposal
A detailed proposal for a change to Flutter
engine
flutter/engine repository. See also e: labels.
P3
Issues that are less important to the Flutter project
t: xcode
"xcodebuild" on iOS and general Xcode project management
tool
Affects the "flutter" command-line tool. See also t: labels.
Xcode 11 (minimum required version in Flutter) introduced the .xcframework for distributing frameworks for multiple platforms and architectures. At build time, the correct version of the framework is linked on. An XCFramework is already being used for add-to-app with the
flutter build ios-framework --xcframework
flag.As Apple is increasing the number of architectures available for each platform (Catalyst as iOS apps on macOS, arm64 macOS) having one bundle containing all available architectures would reduce logic for the tool. Particularly, no more re-copying the framework into the project when platforms architecture changes (still needs to be done per build mode), and no more
lipo
to remove unused architectures.As an additional bonus, Flutter.xcframework can be distributed as a Swift Package as of Xcode 12. See #33850 (comment)
With #51453 iOS linking and embedding logic has moved into the tool, so there won't be migration needed for existing projects.
s.vendored_frameworks = 'Flutter.xcframework'
The text was updated successfully, but these errors were encountered: