File tree Expand file tree Collapse file tree 4 files changed +32
-2
lines changed
permission_handler_platform_interface/lib/src Expand file tree Collapse file tree 4 files changed +32
-2
lines changed Original file line number Diff line number Diff line change 1+ ## [ 9.4.8]
2+
3+ * Enhanced notification permission checking to include CarPlay notification settings on iOS 10.0+ devices.
4+
15## 9.4.7
26
37* Increases minimum supported Flutter version to 3.3.0, and removes code only
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ - (void)requestPermission:(PermissionGroup)permission completionHandler:(Permiss
3636 authorizationOptions += UNAuthorizationOptionSound ;
3737 authorizationOptions += UNAuthorizationOptionAlert ;
3838 authorizationOptions += UNAuthorizationOptionBadge ;
39+ authorizationOptions += UNAuthorizationOptionCarPlay ;
3940 [center requestAuthorizationWithOptions: (authorizationOptions) completionHandler: ^(BOOL granted, NSError * _Nullable error) {
4041 if (error != nil || !granted) {
4142 completionHandler (PermissionStatusPermanentlyDenied);
@@ -60,6 +61,18 @@ + (PermissionStatus)permissionStatus {
6061 permissionStatus = PermissionStatusPermanentlyDenied;
6162 } else if (settings.authorizationStatus == UNAuthorizationStatusNotDetermined ) {
6263 permissionStatus = PermissionStatusDenied;
64+ } else if (settings.authorizationStatus == UNAuthorizationStatusAuthorized ) {
65+ if (@available (iOS 10.0 , *)) {
66+ if (settings.carPlaySetting == UNNotificationSettingEnabled ) {
67+ permissionStatus = PermissionStatusGranted;
68+ } else if (settings.carPlaySetting == UNNotificationSettingDisabled ) {
69+ permissionStatus = PermissionStatusGranted;
70+ } else {
71+ permissionStatus = PermissionStatusGranted;
72+ }
73+ } else {
74+ permissionStatus = PermissionStatusGranted;
75+ }
6376 }
6477 dispatch_semaphore_signal (sem);
6578 }];
Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ name: permission_handler_apple
22description : Permission plugin for Flutter. This plugin provides the iOS API to request and check permissions.
33repository : https://github.com/baseflow/flutter-permission-handler
44issue_tracker : https://github.com/Baseflow/flutter-permission-handler/issues
5- version : 9.4.7
5+ version : 9.4.8
66
77environment :
88 sdk : " >=2.18.0 <4.0.0"
Original file line number Diff line number Diff line change @@ -170,7 +170,20 @@ class Permission {
170170 /// Permission for accessing ignore battery optimizations (Android only).
171171 static const ignoreBatteryOptimizations = Permission ._(16 );
172172
173- /// Permission for pushing notifications.
173+ /// Permission for requesting notification permissions.
174+ ///
175+ /// **iOS**: Requests both general and CarPlay notification permissions on iOS 10.0+.
176+ /// Status checking includes CarPlay settings when available, with graceful fallback
177+ /// for older devices.
178+ ///
179+ /// **Android/Other platforms**: Standard notification permission behavior.
180+ ///
181+ /// Example:
182+ /// ```dart
183+ /// // Automatically includes CarPlay on supported iOS devices
184+ /// final status = await Permission.notification.status;
185+ /// final result = await Permission.notification.request();
186+ /// ```
174187 static const notification = Permission ._(17 );
175188
176189 /// Permission for accessing the device's media library.
You can’t perform that action at this time.
0 commit comments