You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
integration_test embedded in shipping iOS apps when added to pubspec #74274
As of HEAD today, with the following feature flag opt-in:
flutter config explicit-package-dependencies
The generated .flutter-plugins-dependencies file now includes dev_dependency: true|false per plugin. See #158009 for implementation details. We should be able to use the explicit appearance of dev_dependency: true in order to strip out plugins (such as integration_test) that are dev dependencies in production builds.
Original post:
integration_test was added to the pubspec template in #70240. This caused all newly flutter created iOS apps to ship with an embedded integration_test framework, and it requires all developers to install CocoaPods, even if they had not previously used any plugins. It also embedded the app in add-to-app host apps.
#70240 was reverted in #74068 due to NNBD issues. Before it is relanded, there should be a plan for how to prevent the above.
@cbracken Just checking in - this functionality is currently working e2e in Android, but not iOS. I'd love to get this into the next (not this) stable release so we can announce at the same time that both Android and iOS support it, but it's not critical.
This issue is assigned to @vashworth but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!
This issue was assigned to @vashworth but has had no status updates in a long time. To remove any ambiguity about whether the issue is being worked on, the assignee was removed.
Activity
jmagman commentedon Jan 20, 2021
For the iOS side at least:
Avoid embedding in app
dev_dependenciescould be parsable from.flutter-plugins-dependencies(Strip plugins created fromdev_dependenciesfrom release-mode apps #56591)The
injectPlugins/GeneratedPluginRegistrantcode would also need to ignoredev_dependencies.flutter/packages/flutter_tools/lib/src/plugins.dart
Lines 599 to 608 in a0be980
Then the podhelper can exclude those plugins:
flutter/packages/flutter_tools/bin/podhelper.rb
Lines 252 to 253 in f63055a
Something like
integration_testcan be hard-coded to be ignored in these places.Embed in test
To add
integration_testto the test target, it can be added via CocoaPods:Or we can figure out how to do this as a Swift Package #72482.
If there's plans to add the test target to the Xcode project template, this embedding can be done automatically.
jmagman commentedon Jan 20, 2021
\cc @dnfield @jonahwilliams
bartekpacia commentedon Dec 16, 2022
I'd really like to see it fixed. It makes it harder than necessary to develop a Flutter plugin that is intended to use only in integration tests.
matanlurey commentedon Feb 12, 2025
@cbracken Just checking in - this functionality is currently working e2e in Android, but not iOS. I'd love to get this into the next (not this) stable release so we can announce at the same time that both Android and iOS support it, but it's not critical.
matanlurey commentedon Feb 22, 2025
This is ready to get worked on whenever prioritized; see #163874 (can dedupe)
iOSapps should use.flutter-plugins-dependenciesto omit dev-dependency plugins #163874flutter-triage-bot commentedon Jul 3, 2025
This issue is assigned to @vashworth but has had no recent status updates. Please consider unassigning this issue if it is not going to be addressed in the near future. This allows people to have a clearer picture of what work is actually planned. Thanks!
flutter-triage-bot commentedon Sep 18, 2025
This issue was assigned to @vashworth but has had no status updates in a long time. To remove any ambiguity about whether the issue is being worked on, the assignee was removed.