1
rzbb 2019-04-23 12:21:46 +08:00 via iPhone
后台刷新
|
3
finab 2019-04-23 12:46:58 +08:00
被上滑退出的 APP,大部分后台都会失效。
不过发静默推送可以让 APP 有一点点时间执行代码, 收邮件够了 |
5
ftu 2019-04-23 13:04:04 +08:00 via iPhone
把通知关闭
|
6
MrStark 2019-04-23 13:23:34 +08:00
@finab 我所知道的是使用 `Background fetch` mode 之后系统会统一调度后台刷新(前提是开启了 `后台刷新`),这时候程序有 30 秒的执行更新时间,另一种就是 `Remote Notifications`,推送一条带有 `content-available` 字段的消息就可以让程序无论是在后台还是前台都可以刷新数据(如果是在后台的话同样也是 30 秒的更新时间),但如果 app 被 kill 了的话,上面说的两种方式都无效,除非重新启动 app。所以我有点好奇你这里所说的 "上滑退出的 app 可以发静默推送可以让 app 有一点点时间执行代码",请问有相关文档么?
|
7
finab 2019-04-23 14:05:02 +08:00
@MrStark
NotificationServiceExtension https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension 就算程序上滑退出,收到推送时也会先执行这里的代码,也可以对推送做任何修改 |
8
MrStark 2019-04-23 14:17:11 +08:00
@finab 原来是 UNNotificationServiceExtension,iOS10 新增的一些 API 没研究过,学习了。
|
9
liaoyaoheng 2019-04-23 15:14:47 +08:00 via iPhone
@finab 关闭后台应用刷新都只要有推送都可以调用 NotificationServiceExtension ?请教
|
10
finab 2019-04-23 15:27:53 +08:00
@liaoyaoheng
是的, 但是并不会启动主 APP,就是一个小扩展吧 |
11
liaoyaoheng 2019-04-23 19:10:49 +08:00 via iPhone
|
12
finab 2019-04-24 10:40:41 +08:00 1
@liaoyaoheng
用途很多,推送图片视频时在这下载图片视频、QQ 在这将远程推送改为本地推送用于管理所有推送的显示或状态 每一个推送都有一小段时间(我没测试过,应该是最多 30 秒)运行代码,理论上说你执行啥代码都行。 但这个代码是独立与主程序的,就相当于一个扩展,它的执行与主 APP 无关,也不可能唤醒保活之类的 这个会不会计算到后台运行时间我并不确定 不过后台运行就算没有任何权限,APP 在挂起后也有不短的一段时间可以继续在后台运行的 |