fluttercommunity / fluttercommunity/plus_plugins
[Request]: In share_plus, make it possible to pass `excludedActivityTypes` to iOS
- Lingua principale
- Dart
- Stelle
- 1.9k
- Fork
- 1.3k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Plugin
share_plus
### Use case
In Order to fullfill the [MASVS-PLATFORM-1](https://mas.owasp.org/MASVS/controls/MASVS-PLATFORM-1/) requirement, one should, according to [MASTG-TEST-0071](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0071/) ensure that when sharing is used, only desired activity types are allowed.
For native iOS, this is done by adding the excluded [ActivityTypes](https://developer.apple.com/documentation/uikit/uiactivity/activitytype) to [UIActivityViewController.excludedActivityTypes](https://developer.apple.com/documentation/uikit/uiactivityviewcontroller/1622009-excludedactivitytypes) before presenting the controller. However, the share_plus plugin currently does not allow to pass this information to the native implementation.
### Proposal
I would propose to introduce a new optional named parameter `iosExcludedActivityTypes` that takes a nullable list of a dart-mapped `ActivityTypes` enum. This parameter can then be passed to the iOS implementation and be used there to populate the `UIActivityViewController.excludedActivityTypes`. It would be a simple, non breaking change.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando l'API Dart di share_plus e la relativa implementazione nativa iOS, quindi traccia il percorso con cui le opzioni di condivisione arrivano a UIActivityViewController. Il lavoro è completato quando viene accettato un parametro facoltativo iosExcludedActivityTypes, passato a iOS e utilizzato per valorizzare excludedActivityTypes senza interrompere le chiamate esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- dart, flutter, ios
- Ambito
- mobile
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100