Platform
iOS 26
Plugin
share_plus
Version
12.0.1
Flutter SDK
3.38.5
Steps to reproduce
Reproduction scenario
- Integrate a Flutter module via Add to app scenario
- In iOS present Flutter view controller from some view controller which is not a root view controller
- Share an
XFile via SharePlus as usual
Expected
The file is shared
Actual
No share dialog shown and error in native logs:
Attempt to present <UIActivityViewController: 0x1312eb600> on <Some.AnotherController: 0x10f713800> (from
<Some.AnotherController: 0x10f713800>) which is already presenting <Some.ThirdController: 0x10f404000>.
Analysis
Broken likely in #3404
Reason is that rootViewController is passed to the main sharing method instead of topViewController in these cases:
XFile sharing here
- Text sharing here
Uri sharing is not affected and can be used as a workaround for single file sharing (verified via testing)
Replacing controllers passed solves the issue (verified via forking the plugin, fixing and testing)
Additional issue
The error was not propagated to Flutter code and didn't cause any Flutter-side exceptions (so we didn't even know it wasn't working)
Code Sample
Logs
Attempt to present <UIActivityViewController: 0x1312eb600> on <Some.AnotherController: 0x10f713800> (from
<Some.AnotherController: 0x10f713800>) which is already presenting <Some.ThirdController: 0x10f404000>.
Flutter Doctor
[✓] Flutter (Channel stable, 3.38.5, on macOS 26.1 25B78 darwin-arm64, locale en-GB) [236ms]
• Flutter version 3.38.5 on channel stable at /Users/outring/fvm/versions/3.38.5
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision f6ff1529fd (5 weeks ago), 2025-12-11 11:50:07 -0500
• Engine revision 1527ae0ec5
• Dart version 3.10.4
• DevTools version 2.51.1
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations,
enable-native-assets, omit-legacy-version-file, enable-lldb-debugging
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1) [1,145ms]
• Android SDK at /Users/outring/Library/Android/sdk
• Emulator version 36.2.12.0 (build_id 14214601) (CL:N/A)
• Platform android-36, build-tools 35.0.1
• Java binary at: /Users/outring/Library/Java/JavaVirtualMachines/jbr-17.0.14/Contents/Home/bin/java
This JDK is specified in your Flutter configuration.
To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment JBR-17.0.14+1-1367.22-nomod (build 17.0.14+1-b1367.22)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 26.0.1) [879ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 17A400
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [6ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Connected device (3 available) [6.2s]
• T800 (mobile) • 00008110-001959690A63A01E • ios • iOS 26.1 23B85
• macOS (desktop) • macos • darwin-arm64 • macOS 26.1 25B78 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 143.0.7499.193
[✓] Network resources [199ms]
• All expected network resources are available.
• No issues found!
Checklist before submitting a bug
Platform
iOS 26
Plugin
share_plus
Version
12.0.1
Flutter SDK
3.38.5
Steps to reproduce
Reproduction scenario
XFilevia SharePlus as usualExpected
The file is shared
Actual
No share dialog shown and error in native logs:
Analysis
Broken likely in #3404
Reason is that
rootViewControlleris passed to the main sharing method instead oftopViewControllerin these cases:XFilesharing hereUri sharing is not affected and can be used as a workaround for single file sharing (verified via testing)
Replacing controllers passed solves the issue (verified via forking the plugin, fixing and testing)
Additional issue
The error was not propagated to Flutter code and didn't cause any Flutter-side exceptions (so we didn't even know it wasn't working)
Code Sample
Logs
Flutter Doctor
[✓] Flutter (Channel stable, 3.38.5, on macOS 26.1 25B78 darwin-arm64, locale en-GB) [236ms] • Flutter version 3.38.5 on channel stable at /Users/outring/fvm/versions/3.38.5 • Upstream repository https://github.com/flutter/flutter.git • Framework revision f6ff1529fd (5 weeks ago), 2025-12-11 11:50:07 -0500 • Engine revision 1527ae0ec5 • Dart version 3.10.4 • DevTools version 2.51.1 • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, omit-legacy-version-file, enable-lldb-debugging [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1) [1,145ms] • Android SDK at /Users/outring/Library/Android/sdk • Emulator version 36.2.12.0 (build_id 14214601) (CL:N/A) • Platform android-36, build-tools 35.0.1 • Java binary at: /Users/outring/Library/Java/JavaVirtualMachines/jbr-17.0.14/Contents/Home/bin/java This JDK is specified in your Flutter configuration. To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`. • Java version OpenJDK Runtime Environment JBR-17.0.14+1-1367.22-nomod (build 17.0.14+1-b1367.22) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 26.0.1) [879ms] • Xcode at /Applications/Xcode.app/Contents/Developer • Build 17A400 • CocoaPods version 1.16.2 [✓] Chrome - develop for the web [6ms] • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Connected device (3 available) [6.2s] • T800 (mobile) • 00008110-001959690A63A01E • ios • iOS 26.1 23B85 • macOS (desktop) • macos • darwin-arm64 • macOS 26.1 25B78 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 143.0.7499.193 [✓] Network resources [199ms] • All expected network resources are available. • No issues found!Checklist before submitting a bug
flutter pub upgradeflutter clean