请求权限flutter IOS



我正在开发一个应用程序,可以接收来自firebase云消息的通知。

从文档中我读到,对于IOS,你需要向用户请求权限,问题是你不能带着请求显示横幅。

这是我的代码:

void main() {
WidgetsFlutterBinding.ensureInitialized();
if (Platform.isIOS) {
//IOS check permission
permission();
}
runApp(MyApp());
}
void permission() async {
NotificationSettings settings = await messaging.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true,
);
if (settings.authorizationStatus == AuthorizationStatus.authorized ||
settings.authorizationStatus == AuthorizationStatus.provisional) {
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
await FirebaseMessaging.instance
.setForegroundNotificationPresentationOptions(
alert: true, // headsup notification in IOS
badge: true,
sound: true,
);
} else {
//close the app
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
}
}

从developer.apple.com创建一个apn密钥在云消息传递部分下的firebase控制台中添加此密钥和apn id。在xcode中添加URL参数在xcode中添加后台模式功能,并启用后台,获取和处理在xcode中添加推送通知功能在info中添加所需的权限。在你的项目的iOS/runner内的plist。不要忘记包括googleServicesinfo。把你的跑步者也加入进来

https://firebase.flutter.dev/docs/messaging/apple-integration查看此链接了解详细的一步一步的过程。