方法'IOSInitializationSettings'不是使用本地通知插件定义的



flatter_local_notifications:^11.0.0

我使用了这个库,但我可以找到IOSInitializationSettings。请帮助我。我正在尝试将推送通知集成到我的flutter应用程序中。

从flatter_local_notifications文档来看,10.0版本有以下突破性的更改:

iOS和macOS类已按原样重命名和重构基于相同的操作系统并共享相同的通知API。这些不是IOS或MacOS的前缀,而是现在被带有Darwin前缀的类所取代。例如IOS初始化设置可以替换为DarwinInitializationSettings

因此更改:IOS初始化设置-->达尔文初始化设置

IOS通知详细信息-->达尔文通知详细信息

[iOS][macOS]重大更改iOS和macOS类已被重命名和重构,因为它们基于相同的操作系统并共享相同的通知API。这些类现在被带有Darwin前缀的类所取代,而不是具有IOS或MacOS前缀。例如,IOSInitializationSettings可以替换为DarwinInitializationSettings

以下是iOS和android的初始化代码。


Future<void> intialize() async {
tz.initializeTimeZones();
const AndroidInitializationSettings androidInitializationSettings =
AndroidInitializationSettings('@drawable/ic_stat_android');
IOSInitializationSettings iosInitializationSettings =
IOSInitializationSettings(
requestAlertPermission: true,
requestBadgePermission: true,
requestSoundPermission: true,
onDidReceiveLocalNotification: onDidReceiveLocalNotification,
);
final InitializationSettings settings = InitializationSettings(
android: androidInitializationSettings,
iOS: iosInitializationSettings,
);
await _localNotificationService.initialize(
settings,
onSelectNotification: onSelectNotification,
);
}

我在flutter_local_notifications: ^9.6.0中完成了代码

var initializationSettingsIOS = DarwinInitializationSettings(
requestAlertPermission: true,
requestBadgePermission: true,
requestSoundPermission: true,
onDidReceiveLocalNotification: (int id, String? title, String? body, String? payload) async {});

最新更新