fluttercommunity / fluttercommunity/flutter_downloader
Request From Flutter Team: Migrate to `registrar.viewController` API
- Dominant language
- Kotlin
- Stars
- 940
- Forks
- 561
- Avg merge
- 1h 18m
- Merged PRs (30d)
- 1
Description
This plugin currently relies on legacy UIApplication APIs to access the root view controller ([code here](https://github.com/fluttercommunity/flutter_downloader/blob/4b28cbec41b2c51882d68522420b0787a03e8887/ios/Classes/FlutterDownloaderPlugin.m#L1150)). With Apple's mandatory adoption of the UIScene lifecycle in iOS 27, these legacy patterns will result in unexpected behavior. Please migrate to the new `registrar.viewController` API to ensure compatibility.
For detailed instructions, please see [the official UIScene adoption guide for plugins](https://docs.flutter.dev/release/breaking-changes/uiscenedelegate#migrate-a-flutter-plugin).
Consider using the provided [SKILL](https://github.com/flutter/flutter/issues/190156#issuecomment-5108050627) designed to identify and refactor these legacy patterns.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in ios/Classes/FlutterDownloaderPlugin.m around line 1150, where the plugin accesses the root view controller through legacy UIApplication APIs. Read Flutter's UIScene adoption guide for plugins and migrate this lookup to registrar.viewController; done means the plugin no longer relies on the legacy pattern and remains compatible with the UIScene lifecycle.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- flutter, ios, objective-c
- Domain
- mobile
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100