前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS15 发送本地通知(附带声音)无法播报

iOS15 发送本地通知(附带声音)无法播报

原创
作者头像
freesan44
修改2021-11-05 14:35:52
1.4K0
修改2021-11-05 14:35:52
举报
文章被收录于专栏:freesan44freesan44freesan44

问题

iOS12.1之后利用本地推送实现消息的语音播报,在iOS15 没有声音。

iOS15版本下,配置UNNotificationSound来替换UNNotificationRequest声音,会出现没法播报问题

原因

iOS15本地推送新增了中断级别属性 interruptionLevel,对通知进行了分级 。而且通知的内容不能为空。

解决方案

使用非Passive的中断级别进行本地通知才会有声音,且本地推送一定要有内容,即body不能为空。content.body = @" 不能为空";

   UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

    UNMutableNotificationContent *content = [[UNMutableNotificationContent alloc] init]; //标题
    content.sound = [UNNotificationSound soundNamed:[NSString stringWithFormat:@"%@.mp3",mp3Name]];

    content.body = @"语音播报";// 本地推送一定要有内容,即body不能为空。

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 150000
    if (@available(iOS 15.0, *)) {
        content.interruptionLevel = UNNotificationInterruptionLevelTimeSensitive;//会使手机亮屏且会播放声音;可能会在免打扰模式(焦点模式)下展示
        // @"{\"aps\":{\"interruption-level\":\"time-sensitive\"}}";
        // @"{\"aps\":{\"interruption-level\":\"active\"}}";
        content.body = @"语音播报";// 本地推送一定要有内容,即body不能为空。
    }
#endif

    // repeats,是否重复,如果重复的话时间必须大于60s,要不会报错
    UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:0.01  repeats:NO];
    /* */
    //添加通知的标识符,可以用于移除,更新等搡作
    NSString * identifier = [[NSUUID UUID] UUIDString];
    UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:identifier content:content trigger:trigger];
    [center addNotificationRequest:request withCompletionHandler:^(NSError *_Nullable error) {

    }];

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 原因
  • 解决方案
相关产品与服务
移动推送
移动推送(Tencent Push Notification Service)为应用提供合法合规、消息通道稳定、消息高效秒达、全球服务覆盖的消息推送服务,已稳定服务腾讯游戏、腾讯视频等超高日活应用;支持 App 推送、应用内消息、智能短信等多种消息类型,有效提升用户活跃度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档