app_settings
A Flutter plugin for opening iOS and Android phone settings from an app.
9.0.0
1000K downloads/mo
#67 most downloaded on pub.dev
spencerccf/app_settings
What this package is like to depend on
Last release 7 days ago
16 Aug 2026
Release timing varies
gaps range from 4 weeks to 1.4 years
Most releases are documented
notes for 41 of 47 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
47 releases · first in 2019
6 releases in the last 12 months
see the full history below
Release timeline
47 releases · Jan 2019 to Aug 2026Releases
latest 47-
9.0.016 Aug 2026 -
8.0.320 Jul 2026Release notes
Open source →android/build.gradlenow reads the actualandroid.builtInKotlinGradle property (inherited from the consuming app's root project) instead of guessing from the AGP major version alone.kotlin-androidis only skipped for consumers who have genuinely opted into AGP's built-in Kotlin support; it's still applied (avoiding the 8.0.1 bug) for the defaultandroid.builtInKotlin=false. Verified both branches against a real AGP 9.0.1 project: with the defaultfalse, the plugin builds correctly; withtrue, skippingkotlin-androidavoids the'org.jetbrains.kotlin.android' plugin is no longer required for Kotlin support since AGP 9.0failure that other still-unmigrated plugins in the same build hit.
-
8.0.220 Jul 2026Release notes
Open source →- fix:
android/build.gradlenow setscompileSdk = 36/minSdk = 16(property-assignment syntax) instead of the deprecatedcompileSdkVersion 36/minSdkVersion 16method-call syntax, since the latter is unavailable under AGP 9's "new DSL" mode. Property assignment has worked since AGP 7.0, so this is backward-compatible with AGP 7.x/8.x too. Adapted from a suggestion at qeepcologne/app_settings@agp9-new-dsl.
- fix:
-
8.0.119 Jul 2026Release notes
Open source →- fix:
android/build.gradleno longer conditionally skips applying thekotlin-androidplugin on AGP 9+. That guard broke every consuming app on AGP 9 with the (default)android.builtInKotlin=false, producingerror: cannot find symbol / class AppSettingsPluginin the generated plugin registrant at build time. Root cause: Flutter's own Gradle tooling (FlutterPluginUtils.detectApplyingKotlinGradlePlugin) decides whether to auto-applykotlin-androidfor a plugin subproject by regex-matching the literalapply plugin: 'kotlin-android'text in that subproject'sbuild.gradle— it does not evaluate Groovy conditionals. So even though our runtime guard (if (!isAgp9OrAbove) { ... }) skipped applying the plugin on AGP 9, Flutter's static text-based detection still saw the line and assumed KGP was already handled, so it didn't apply it either. Net effect: nothing ever compiled this module's Kotlin source on AGP 9. Verified against a real AGP 9.0.1 / Gradle 9.1.0 project. See #270 for the original guard.
- fix:
-
8.0.016 Jul 2026Release notes
Open source →- BREAKING: Drop CocoaPods support for iOS and macOS. Consuming apps must build with Swift Package Manager (supported by Flutter 3.24+); remove
ios/app_settings.podspecandmacos/app_settings.podspec. - fix: macOS plugin now ships its real implementation (
AppSettingsPlugin.swift,AppSettingsEnums.swift) through the Swift Package ManagerSourceslayout instead of the oldClasses/CocoaPods-only source set. - fix: bundle
PrivacyInfo.xcprivacycorrectly for both iOS and macOS SPM targets (the iOSPackage.swiftpreviously pointed at a resource path Xcode rejected as "unhandled"). - Add an explicit
FlutterFrameworkpackage dependency to bothPackage.swiftfiles, per Flutter's current Swift Package Manager plugin-authoring guidance. - Example app: remove
Podfile/Podfile.lock/Pods/for iOS and macOS; Xcode projects now resolve plugins via Swift Package Manager only. - Remove dead, non-functional
getPlatformVersion()leftover from the original plugin template (lib/app_settings_method_channel.dart,lib/src/app_settings.dart) — it was never implemented on any platform and always threwMissingPluginException. - Rewrite unit tests (
test/app_settings_test.dart,test/app_settings_method_channel_test.dart) to exercise realopenAppSettings/openAppSettingsPanelbehavior instead of stale, throwing mocks. - Example app: only show the "openAppSettingsPanel() options" section on Android, since settings panels are an Android Q+ feature.
- Update Android Gradle Plugin (8.7.3 -> 8.11.1), Kotlin (2.1.0 -> 2.2.20), and the Gradle wrapper (8.12 -> 8.14) in the example app to clear Flutter's outdated-toolchain warnings; align the plugin's own
android/build.gradlekotlin_version/gradle_versionto match.
- BREAKING: Drop CocoaPods support for iOS and macOS. Consuming apps must build with Swift Package Manager (supported by Flutter 3.24+); remove
-
7.0.001 Dec 2025Release notes
Open source →- fix: add preconcurrency annotation in swift api
- fix: no rule to process file (xcprivacy) #240
- fix: Upgrade Gradle and Kotlin versions #231
- Feature/upgrade android compile version to 35
- open notification screen on iOS 15.4-16.0
- fix: privacyInfo for SPM
- Update build.gradle
-
6.1.103 Apr 2025 -
6.1.003 Apr 2025Release notes
Open source →- Added openAppSettings() to access platform specific 'camera' settings (Only MacOS) .
-
6.0.003 Apr 2025Release notes
Open source →- Fİx for AppSettingsPlugin.swift:5:43, Attribute can only be applied to declarations, not types issue #232
- Upgraded gradle from 7.5 to 8.2
-
5.2.002 Feb 2025 -
5.1.124 Sep 2023 -
5.1.024 Sep 2023Release notes
Open source →Add
AppSettingsType.appLocaleto open the app language settings (only available on Android 13 and higher). -
5.0.009 Jul 2023Release notes
Open source →-
BREAKING CHANGES
- The
openAppSettings()method now accepts a single settings type. This replaces the various individual methods. - The
callbackargument has been removed. Instead, awaitopenAppSettings(). - Flutter 3.7 is now required.
- The
-
Updated the plugin to the new plugin template, using the platform interface.
-
Fixed a typo in the application identifier.
-
Bumped the Android SDK version to 33
-
Added the
namespaceproperty to the build.gradle for compatibility with Gradle 8 -
Added support for notification settings on iOS 16
-
Added support for Android Q Settings Panels
-
Relaxes the Android Bluetooth settings (
Settings.ACTION_BLUETOOTH_SETTINGS) requirement. The Bluetooth permission is no longer required.
-
-
4.3.111 Jul 2023Nothing published for this version
-
4.3.007 Jul 2023Nothing published for this version
-
4.2.007 Jan 2023Release notes
Open source →- Added the ability to provide an optional custom callback function to
openAppSettings().
- Added the ability to provide an optional custom callback function to
-
4.1.809 Jun 2022 -
4.1.709 Jun 2022 -
4.1.630 Apr 2022Release notes
Open source →- Added the ability to open personal hotspot settings.
- Added the ability to open custom intents.
-
4.1.505 Apr 2022Release notes
Open source →- Added the ability to open the developer settings. This requires enabling the developer settings to work correctly
-
4.1.405 Apr 2022 -
4.1.304 Apr 2022 -
4.1.205 Apr 2022 -
4.1.119 Jun 2021Release notes
Open source →- Added the ability to open VPN settings.
- Added the ability to open the device settings.
-
4.1.003 Mar 2021Release notes
Open source →- Added null-safety support.
- Added the ability to open settings as a new task on Android.
-
4.0.422 Sep 2020 -
4.0.314 Aug 2020 -
4.0.228 Jul 2020Release notes
Open source →- Added in NFC settings access for Android. iOS will still rely on App Settings.
-
4.0.108 Jun 2020Release notes
Open source →- Added Battery Optimization settings access for Android. iOS will still rely on App Settings.
-
4.0.1+113 Jun 2020 -
4.0.019 Apr 2020Release notes
Open source →- Updated Gradle wrapper distribution from 4.6 -> 6.2.2
- Updated Kotlin plugin version from 1.3.50 -> 1.3.70
- Updated Android Gradle plugin from 3.5.1 -> 3.6.1
- Updated compileSdkVersion from 28 -> 'android-R'
- Removed generated and non-essential files
- Updated .gitignore
- Fixed the example app, which was not working correctly.
-
3.0.122 Feb 2020Release notes
Open source →- Added Internal Storage settings access for Android. iOS will still rely on App Settings.
-
3.0.016 Dec 2019Release notes
Open source →- Upgraded to Swift version: 5.0.1 - This version will only work on projects running Swift 5.0.1
-
3.0.0+116 Dec 2019 -
2.0.221 Nov 2019 -
2.0.120 Nov 2019Nothing published for this version
-
2.0.1+120 Nov 2019Release notes
Open source →- Added Bluetooth & Data Roaming settings access for Android (more to come). iOS will still rely on App Settings.
-
2.0.005 Nov 2019 -
1.0.620 Mar 2019Release notes
Open source →- Added openAppSettings() to access platform specific 'app' settings menu.
-
1.0.6+112 Aug 2019Release notes
Open source →iOS TIP: If using Objective-C for iOS in your project, you will need to add
use_frameworks!to yourRunner project podfilein order to use this Swift plugin:- target 'Runner' do use_frameworks! -
1.0.6+213 Aug 2019 -
1.0.524 Feb 2019Release notes
Open source →- Ensure the plugin stays compatible with iOS8+.
- Declare Swift compatibility version 4.2.
-
1.0.430 Jan 2019Release notes
Open source →- Upgraded Kotlin version from: ext.kotlin_version = '1.2.71' to ext.kotlin_version = '1.3.20'
-
1.0.318 Jan 2019 -
1.0.218 Jan 2019Nothing published for this version
-
1.0.118 Jan 2019Nothing published for this version
-
1.0.018 Jan 2019Nothing published for this version