Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To implement flutterlocalnotifications on iOS, follow these steps:

  1. Open Xcode and open your project.
  2. Go to File > New > File, select Swift File and name it NotificationHelper.
  3. Add the following code to NotificationHelper.swift:
import UserNotifications

class NotificationHelper {

    static func requestAuthorization() {
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
            if granted {
                print("Notification permission granted")
            } else {
                print("Notification permission denied")
            }
        }
    }

    static func showNotification(title: String, body: String, timeInSeconds: TimeInterval) {
        let content = UNMutableNotificationContent()
        content.title = title
        content.body = body
        content.sound = UNNotificationSound.default

        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInSeconds, repeats: false)

        let request = UNNotificationRequest(identifier: "notification", content: content, trigger: trigger)

        UNUserNotificationCenter.current().add(request) { (error) in
            if error != nil {
                print("Error showing notification: \(error!.localizedDescription)")
            }
        }
    }

}

This code defines a helper class with two static methods: requestAuthorization() and showNotification(). The first method requests permission to show notifications, while the second method creates and shows a notification with a given title, body, and time to trigger.

  1. In your Flutter app's pubspec.yaml file, add the following dependency:
flutter_local_notifications: ^5.0.0+1
  1. In your Flutter app's main.dart file, add the following code:
import 'package:flutter_local_notifications/flutter_local_notifications.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await FlutterLocalNotificationsPlugin().initialize(
    InitializationSettings(
      iOS: IOSInitializationSettings(
        requestAlertPermission: false,
        requestBadgePermission: false,
        requestSoundPermission: false,
      ),
    ),
  );

  runApp(MyApp());
}

This code initializes the flutterlocalnotifications plugin and sets up the required permissions for iOS.

  1. To show a notification, call NotificationHelper.showNotification():
NotificationHelper.showNotification('Title', 'Body', 10);

This code shows a notification with the title 'Title', body 'Body', and triggers after 10 seconds.

That's it! Your Flutter app can now show local notifications on iOS.