Skip to content

Conversation

@jmagman
Copy link
Member

@jmagman jmagman commented Nov 3, 2020

Description

Universal (fat) frameworks that support physical devices and simulators aren't possible in an ARM simulator world since the arm64 iphoneos and iphonesimulator slices can't be lipod together. Deprecate and hide --universal and make --xcframework the default.

--universal will need to be hard deprecated (removed) when the ARM simulator Flutter.framework ships.

Related Issues

Fixes #69718

Tests

Updated build_ios_framework_module_test.

@jmagman jmagman added platform-ios iOS applications specifically a: existing-apps Integration with existing apps via the add-to-app flow labels Nov 3, 2020
@jmagman jmagman requested a review from xster November 3, 2020 22:56
@jmagman jmagman self-assigned this Nov 3, 2020
@flutter-dashboard flutter-dashboard bot added c: contributor-productivity Team-specific productivity, code health, technical debt. tool Affects the "flutter" command-line tool. See also t: labels. labels Nov 3, 2020
@google-cla google-cla bot added the cla: yes label Nov 3, 2020
@jmagman jmagman requested a review from jonahwilliams November 3, 2020 23:12
Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

..addFlag('universal',
help: 'Produce universal frameworks that include all valid architectures. '
'This is true by default.',
defaultsTo: true,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should have a https://flutter.dev/docs/release/breaking-changes page if we're changing the default perhaps? Is there any user actions possibly needed for the integrator?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't usually do that for tool changes, though the integrator would need to pass in --universal --no-xcframework now to get the old default behavior.
@zanderso what do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As long as the guidance from the tool itself is clear about what is going on, then that is usually sufficient.

help: 'Produce a Flutter.podspec instead of an engine Flutter.xcframework (recommended if host app uses CocoaPods).',
)
..addOption('output',
abbr: 'o',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems like we never built in flag options to let users choose the target-platforms (like Android). Do you think we should?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's flutter build ios-framework it doesn't support other platforms.

@jmagman
Copy link
Member Author

jmagman commented Nov 5, 2020

Samples updated at flutter/samples#582

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: existing-apps Integration with existing apps via the add-to-app flow c: contributor-productivity Team-specific productivity, code health, technical debt. platform-host-arm Building on an ARM-based platform platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate --universal flag in "flutter build ios-framework"

5 participants