Flutter iOS应用程序不要求通知权限

s2j5cfk0  于 12个月前  发布在  iOS
关注(0)|答案(1)|浏览(266)

bounty将在19小时后到期。此问题的答案有资格获得+50声望奖励。rak正在寻找一个答案从一个有信誉的来源

我用Flutter制作的iOS应用程序不要求通知权限。
它希望它在第一个版本的应用程序,但现在它没有。
iOS设备设置:

Apple开发者控制台:

我正在使用Firebase通知。当我研究这个问题时,我看到它与证书有关,但我无法理解。我以前没有为Flutter做过这样的设置。

固定

我发现问题了。我犯了一个错误,我要求通知许可。Flutter Firebase permission
当我再次遵循此页面上的指示时,它得到了解决。

yuvru6vn

yuvru6vn1#

如果您的Flutter iOS应用未请求通知权限,则可能有几个原因导致此问题。以下是故障排除和解决问题的一些步骤:
1.检查权限:确保您已在Flutter应用中包含请求通知权限所需的代码。您可以使用permission_handler包来完成此操作,该包允许您请求和检查权限。
将permission_handler包添加到pubspec.yaml文件并运行flutter pub get:

dependencies:
  permission_handler: ^12.2.0

以下是如何请求通知权限的示例:

import 'package:permission_handler/permission_handler.dart';

Future<void> requestNotificationPermissions() async {
  final status = await Permission.notification.request();
  if (status.isGranted) {
    // You have permission to send notifications.
  } else {
    // Permission denied. Handle this case.
  }
}
  1. iOS操作系统:除了使用包请求权限外,您还需要在应用的Info.plist文件中指定应用需要这些权限的原因。在项目目录中,导航到ios/Runner/Info.plist并添加以下带说明的键:
    NS通知用法说明:此键用于解释您的应用需要发送通知的原因。已启用NS通知:如果您想在默认情况下启用通知,则应将此键设置为true。下面是一个示例:
<key>NSNotificationsUsageDescription</key>
<string>We need to send you notifications for important updates. 
</string>
<key>NSNotificationsEnabled</key>
<true/>

3.通知插件:确保您使用的是可靠的Flutter通知插件,如flutter_local_notifications。此插件简化了在Flutter应用中显示本地通知的过程。请确保您按照其文档正确设置通知。
4.在真实的器械上进行测试:有时,通知权限可能不会在iOS模拟器中提示。请务必在真实的iOS设备上测试您的应用,以查看权限对话框是否出现。
5.更新依赖项:确保您的Flutter项目及其所有依赖项都是最新的。过时的软件包有时会导致权限处理问题。
6.检查错误:监视控制台是否有任何与通知相关的错误消息或警告。这可以帮助您识别阻止权限提示的特定问题。
7.检查用户设置:如果用户以前拒绝了权限,系统可能不会再次显示提示。如果需要,您可以将用户引导至应用的设置,以手动启用通知。
请记住,Apple的指导方针和政策可能会发生变化,因此必须随时了解他们对处理通知的要求。此外,在真实的iOS设备上进行彻底测试对于确保权限对话框按预期显示至关重要。

相关问题