-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
Description
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
XFilevia 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:
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
- I searched issues in this repository and couldn't find such bug/problem
- I Google'd a solution and I couldn't find it
- I searched on StackOverflow for a solution and I couldn't find it
- I read the README.md file of the plugin
- I'm using the latest version of the plugin
- All dependencies are up to date with
flutter pub upgrade - I did a
flutter clean - I tried running the example project