[Bug]: (share_plus) iOS drops the subject when sharing a uri
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- dart, ios, objective-c
- Domaine
- mobile
Piste de recherche
Commencez dans packages/share_plus/share_plus/ios/share_plus/Sources/share_plus/FPPSharePlusPlugin.m, en suivant le chemin shareUri: et en le comparant à shareText: et shareFiles:. Transmettez le shareTitle déjà lu via shareUri: à share:withSubject:. C’est terminé lorsqu’un partage d’URI iOS conserve le sujet dans Mail tout en préservant l’aperçu enrichi du lien.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Platform
iOS 15
Plugin
share_plus
Version
13.3.0
Flutter SDK
3.44.9
Steps to reproduce
- On an iOS device, share a
uriwith asubject(see the code sample). - Pick Mail in the share sheet.
- The Mail compose view opens with an empty subject line.
On Android the same call fills the subject, because Share.kt puts it in EXTRA_SUBJECT for a uri too. ShareParams.subject is documented as "Supported platforms: All".
This is not a duplicate of #3968, #347 or #691. Those are about the text path and Gmail. This is the uri path, where the subject never reaches the share sheet at all.
Cause
The uri branch of FPPSharePlusPlugin.m never reads the subject:
- The subject is read into
shareTitle(L294-L297), but onlyshareText:andshareFiles:receive it. shareUri:callsshare:withSubject:nil(L460-L472).share:withSubject:only skipsNSNull, so it sets the controller'ssubjecttonil(L409-L411). The comment on that block says it is there to force the subject "when sharing a raw url or files", which is exactly the case that getsnil.
Suggested fix
Pass shareTitle into shareUri: and forward it to share:withSubject: instead of nil, as shareText: and shareFiles: already do. The item stays an NSURL, so the rich link preview is unaffected.
Code Sample
await SharePlus.instance.share(
ShareParams(
uri: Uri.parse('https://flutter.dev'),
subject: 'Subject for Mail',
),
);
Logs
No error or exception. The share sheet and Mail open normally, only the subject is empty.
Flutter Doctor
[✓] Flutter (Channel stable, 3.44.9, on macOS 26.6.2 25G83 darwin-arm64, locale en-EE) [431ms]
• Flutter version 3.44.9 on channel stable at /Users/**/.local/share/mise/http-tarballs/e5c14d6b5e917a8578327d2564ab78ece83cd685c74c29572ddaf7655f42205d
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 6b182d2c75 (8 weeks ago), 2026-08-05 10:04:07 -0700
• Engine revision 5a2a6a42cc
• Dart version 3.12.2
• DevTools version 2.57.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, no-enable-swift-package-manager,
omit-legacy-version-file, enable-lldb-debugging, no-enable-uiscene-migration
[✓] Android toolchain - develop for Android devices (Android SDK version 37.0.0) [1,412ms]
• Android SDK at /Users/**/Library/Android/sdk
• Emulator version 36.1.9.0 (build_id 13823996) (CL:N/A)
• Platform android-37.0, build-tools 37.0.0
• ANDROID_HOME = /Users/**/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.9+-14787801-b1163.94)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 26.6) [1,046ms]
• Xcode at /Applications/Xcode-26.6.0.app/Contents/Developer
• Build 17F113
• CocoaPods version 1.17.0
[✓] Chrome - develop for the web [5ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
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
- Langage dominant
- Dart
- Étoiles
- 1.9k
- Forks
- 1.3k
- Merge moyen
- 6 j 16 h
- PR mergées (30 j)
- 16
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de fluttercommunity/plus_plugins
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
fluttercommunity/plus_plugins#3943 ·
Les mainteneurs répondent en général sous 1 jour
-
[package_info_plus]: Use Flutter's compile-time build name/number on web instead of version.jsonOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 25/100
fluttercommunity/plus_plugins#3989 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement triage
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
fluttercommunity/plus_plugins#3976 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
fluttercommunity/plus_plugins#3974 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement triage
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 48/100
fluttercommunity/plus_plugins#3973 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de fluttercommunity/plus_plugins
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
immich-app/immich#31955 ·
Les mainteneurs répondent en général sous 1 jour
-
[BUG] iOS: a feature drag interrupted by the system never ends, and the next pan drags the featureOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
maplibre/flutter-maplibre-gl#1053 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Smart charging: USB charger re-assert is starved during BLE scans, so the tablet never dischargesOuvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
decentespresso/decaid#931 ·
Les mainteneurs répondent en général sous 1 jour