-
Notifications
You must be signed in to change notification settings - Fork 29.4k
Support multi-arch iOS binaries #17312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Fixes #2089 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LG
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment for what this does
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should split this whole thing and start delegating build to a build_ios and build_android (which then deals with mac.dart and gradle.dart kinda like we do with devices? (not in this pr)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. Though if I can get TargetArchitecture.ios_*
working smoothly, that seems like the cleanest, then we avoid the split here altogether. Unfortunately we currently use TargetArchitecture
to mean a couple things: all through the iOS bits of the codebase, it means the platform; for the Android bits it means the target architecture.
Will take a look at how we can consolidate this in a followup.
This change adds support for armv7, arm64, and universal iOS apps. This change eliminates iOS target architecture hardcoding (previously arm64 only) and uses the target architecture(s) specified in Xcode's ARCHS setting ('Architectures' in Xcode Build Settings). For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD). Note that after changing the architecture in Xcode, developers should run 'pod install' from the ios subdirectory of their project. A separate change (that will land before this one) will add support for automatically detecting project file and Podfile changes and re-running pod install if necessary. This change also adds an --ios-arch option to flutter build aot. In iOS AOT builds (in profile and release mode), this dictates which architectures are built into App.framework. This flag should generally be unnecessary to set manually since flutter build aot is typically only invoked internally by flutter itself.
This change adds support for armv7, arm64, and universal iOS apps. This change eliminates iOS target architecture hardcoding (previously arm64 only) and uses the target architecture(s) specified in Xcode's ARCHS setting ('Architectures' in Xcode Build Settings). For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD). Note that after changing the architecture in Xcode, developers should run 'pod install' from the ios subdirectory of their project. A separate change (that will land before this one) will add support for automatically detecting project file and Podfile changes and re-running pod install if necessary. This change also adds an --ios-arch option to flutter build aot. In iOS AOT builds (in profile and release mode), this dictates which architectures are built into App.framework. This flag should generally be unnecessary to set manually since flutter build aot is typically only invoked internally by flutter itself.
This change adds support for armv7, arm64, and universal iOS apps.
This change eliminates iOS target architecture hardcoding (previously
arm64 only) and uses the target architecture(s) specified in Xcode's
ARCHS setting ('Architectures' in Xcode Build Settings).
For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD).
Note that after changing the architecture in Xcode, developers should
run 'pod install' from the ios subdirectory of their project. A separate
change (cdbdafa) will add support for
automatically detecting project file and Podfile changes and re-running
pod install if necessary.
This change also adds an --ios-arch option to flutter build aot. In iOS
AOT builds (in profile and release mode), this dictates which
architectures are built into App.framework. This flag should generally
be unnecessary to set manually since flutter build aot is typically only
invoked internally by flutter itself.