iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)
文章目录
- 引言
- I 消息推送扩展的使用
- II Service Extension 实现细节
- 2.1 目前方案
- 2.2 历史方案
- III 队列管理推送通知
- see also
引言
背景:iOS12.1 之后 AVAudioPlayer 无法在后台播放语音。
在杀死APP的情况下仍可进行语言播报的实现方案:iOS 10新增的Service Extension。
不使用Voip 推送的原因:iOS13中(XCode11编译)苹果不再允许PushKit应用在非voip电话的场景上,如果需要使用PushKit的话则需要接入CallKit的接口,导致收到客户端收到Voip Push时会拉起一个接打电话的全屏界面。
在iOS10中推出的Notification Service Extension(NSE),当apns的payload上带上"mutable-content"的值为1时,就会进入NSE的代码中。与Voip方不同之处是,NSE不能唤醒主应用,也不能访问主应用的文件空间,只能在Extension进程中处理相应的逻辑。在NSE中,开发者可以更改通知的内容,
iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)相关推荐
- iOS app处于后台/被杀死的状态仍可进行语言播报(iOS12.1以上在后台或者被杀死无法语音播报的解决方案)【适配iOS15的本地通知功能】
文章目录 前言 I iOS App处于后台/被杀死的状态仍可进行语言播报的实现 II 验证测试 2.1 测试工具 2.2 测试报文 2.3 测试方法 III 消息推送进阶指南:对即时性和送达率有要求的 ...
- App在后台被杀死后重启-重进首页方法
感谢这位哥的思路. 这个问题很常见,基本所有app都会遇到这个问题.但是很多开发者都没有处理. 问题的起因:我的app在进入后台后一段时间,可能被系统干掉了,然后通过多任务键,或者图标再点进去操作,出 ...
- IOS APP内后台音乐播放
写在开头 最近做了IOS音频.音乐后台播放相关的需求,这里主要总结一下支持后台播放以及远程控制的一些用法,在这个过程中也遇到了一些问题,会在另一个博客里面进行总结. 一.后台权限申请 1.在Info. ...
- android怎么监听app被后台杀死,Android优雅的监听APP前台/后台的状态切换
前言 先梳理下"前台"的概念.当App对用户可见,并且用户可以与App直接进行交互的时候,此时,我们说App处于前台:而当我们按下Home键回到桌面,此时则App处于"后 ...
- iOS App后台保活
女主宣言 前段时间,笔者和GY哥一起吃饭聊天的时候,GY哥问了笔者一个问题,iOS App 可以后台保活吗?是如何做到后台保活的?当时笔者只想到了可以在后台播放静音的音乐,对于唤醒App,可以考虑使用 ...
- 马蜂窝 iOS App 启动治理:回归用户体验
增长.活跃.留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能.启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率.因此,确保启 ...
- 用Xamarin和Visual Studio编写iOS App
原文:Building iOS Apps with Xamarin and Visual Studio 作者:(Bill Morefield](https://www.raywenderlich.co ...
- APP在后台被系统杀死的六种主要原因
主要介绍在APP在后台被系统杀死的六种主要原因,源自WWDC视频, 并且告诉你怎么使用MetricKit框架去发现和减少程序被强制杀死的概率:怎么防止崩溃:怎么使用后台机制,怎么找到潜在的问题并采取行 ...
- iOS保持App真后台运行
https://www.jianshu.com/p/d466f2da0d33 在我看来,苹果系统与安卓系统最直观的区别就是后台处理方式了吧,安卓手机一旦开启了很多app放到后台,即使前台什么也不做,就 ...
最新文章
- php根据时间搜索,yii2实现根据时间搜索的方法
- Quartz表达式触发
- MATLAB 的运算符
- Elasticsearch 简介
- 05-传统开发模式DAO
- python获取excel数据进行判断输出结果到excel,如何使用python xlrd/xlwt从一个excel工作簿提取数据并输出到另一个excel工作簿?...
- 需要单机还是集群部署_单机、分布式、集群的区别与联系
- AS报Failed to resolve: junit:junit:4.12错误正确的解决方法
- 一个简单的Blob存取例子
- ELK logstash基本配置
- 竞赛经验——全国大学生创新创业训练计划(国创)
- lan pci 联想开机_联想bios设置硬盘启动
- iOS -- 第三方登录之微信登录 (Swift代码)
- AutoCAD 样条曲线如何结束
- Android Jason数据解析及显示
- 打开浏览器,显示的首页是2345浏览器
- 【UOJ #62】【UR #5】怎样跑得更快(莫比乌斯反演)
- 借助Houdini PDG批量处理alembic文件
- LibLinear使用及与Lib的区别
- 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求