From bd0b222cb74da6e60161fc227714ede5dd3565ad Mon Sep 17 00:00:00 2001 From: kumarpalsinh25 Date: Tue, 15 Apr 2025 19:55:43 +0530 Subject: [PATCH] Fixes 2820 --- app/ios/Podfile | 16 ++++++++++++++++ app/ios/Podfile.lock | 2 +- .../utils/device_permissions/calendar.dart | 7 +++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/ios/Podfile b/app/ios/Podfile index 6be20bc436ae..dd105dbd31ed 100644 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -36,5 +36,21 @@ end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) + target.build_configurations.each do |config| + # You can remove unused permissions here + # for more information: https://github.com/Baseflow/flutter-permission-handler/blob/main/permission_handler_apple/ios/Classes/PermissionHandlerEnums.h + # e.g. when you don't need camera permission, just add 'PERMISSION_CAMERA=0' + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [ + '$(inherited)', + ## dart: PermissionGroup.calendar + 'PERMISSION_EVENTS=1', + + ## dart: PermissionGroup.calendarFullAccess + 'PERMISSION_EVENTS_FULL_ACCESS=1', + + ## dart: PermissionGroup.notification + 'PERMISSION_NOTIFICATIONS=1', + ] + end end end diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 47d22fa39451..cc70a6d1dea7 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -321,6 +321,6 @@ SPEC CHECKSUMS: volume_controller: 531ddf792994285c9b17f9d8a7e4dcdd29b3eae9 wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56 -PODFILE CHECKSUM: d2243213672c3c48aae53c36642ba411a6be7309 +PODFILE CHECKSUM: fcb1d6a8b69ef1614eadff3ce844375007098b37 COCOAPODS: 1.16.2 diff --git a/app/lib/common/utils/device_permissions/calendar.dart b/app/lib/common/utils/device_permissions/calendar.dart index ba39c1b7c584..1ed4ed2325ec 100644 --- a/app/lib/common/utils/device_permissions/calendar.dart +++ b/app/lib/common/utils/device_permissions/calendar.dart @@ -1,8 +1,8 @@ import 'dart:io'; import 'package:acter/common/themes/app_theme.dart'; import 'package:acter/features/calendar_sync/calendar_sync_permission_page.dart'; -import 'package:device_calendar/device_calendar.dart'; import 'package:flutter/material.dart'; +import 'package:permission_handler/permission_handler.dart'; /// Handles calendar permission request for both Android and iOS platforms Future handleCalendarPermission(BuildContext context) async { @@ -39,7 +39,6 @@ Future _handleCalendarPermission(BuildContext context) async { /// Checks if calendar permission is granted Future _checkCalendarPermission() async { - final deviceCalendar = DeviceCalendarPlugin(); - final hasPermission = await deviceCalendar.hasPermissions(); - return hasPermission.data ?? false; + final status = await Permission.calendarFullAccess.request(); + return status.isGranted; }