在我将 pubspec.yaml 中的 fire_messaging 从 v6.0.0 升级到 11.2.3 后,我尝试将一个名为 fireflutter 的颤振包迁移到 null 安全版本,一些代码变成了红色。
Future<void> _firebaseMessagingRequestPermission() async {
/// Ask permission to iOS user for Push Notification.
if (Platform.isIOS) {
firebaseMessaging.onIosSettingsRegistered.listen((event) {
// Do something after user accepts the request.
});
await firebaseMessaging
.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true, );
//.requestNotificationPermissions(IosNotificationSettings());//outdated
} else {
/// For Android, no permission request is required. just get Push token.
await firebaseMessaging.requestPermission();
}
}
错误:没有为“FirebaseMessaging”类型定义吸气剂“onIosSettingsRegistered”。(undefined_getter at [fireflutter] lib\base.dart:413)
/// check if the app have the permission to access camera or photos
if (permissionStatus.isUndetermined || permissionStatus.isDenied) {
/// request permission if not granted, or user haven't chosen permission yet.
// print('requesting permisssion again');
/// ? does not request permission again. (BUG: iOS) ??
///
/// Ask permission.
if (Platform.isAndroid) {
await permission.request();
}
}
错误:没有为类型“PermissionStatus”定义吸气剂“isUndetermined”。(undefined_getter at [fireflutter] lib\base.dart:944)
if (documentChange.type == DocumentChangeType.added) {
// [createdAt] is null on author mobile (since FieldValue.serverTime make the event fire twice).
if (post['createdAt'] == null) {
forum.posts.insert(0, post);
}
错误:没有为“对象”类型定义运算符“[]=”。(undefined_operator at [fireflutter] lib\fireflutter.dart:378)