jaleo
V2EX  ›  iOS

IOS 下清掉所有后台 QQ 邮箱还会默默运行?

  •  
  •   jaleo · Apr 23, 2019 · 1832 views
    This topic created in 2653 days ago, the information mentioned may be changed or developed.


    睡前清掉了所有 app wifi 开着 surge 开着
    早上起来发现 QQ 邮箱悄悄会联网收邮件?
    怪不得每天早上打开 QQ 邮件已经在那里了
    12 replies    2019-04-24 10:40:41 +08:00
    rzbb
        1
    rzbb  
       Apr 23, 2019 via iPhone
    后台刷新
    jaleo
        2
    jaleo  
    OP
       Apr 23, 2019
    @rzbb 刷新也关闭了
    finab
        3
    finab  
       Apr 23, 2019
    被上滑退出的 APP,大部分后台都会失效。
    不过发静默推送可以让 APP 有一点点时间执行代码, 收邮件够了
    jaleo
        4
    jaleo  
    OP
       Apr 23, 2019 via iPhone
    @finab 明白了
    ftu
        5
    ftu  
       Apr 23, 2019 via iPhone
    把通知关闭
    MrStark
        6
    MrStark  
       Apr 23, 2019
    @finab 我所知道的是使用 `Background fetch` mode 之后系统会统一调度后台刷新(前提是开启了 `后台刷新`),这时候程序有 30 秒的执行更新时间,另一种就是 `Remote Notifications`,推送一条带有 `content-available` 字段的消息就可以让程序无论是在后台还是前台都可以刷新数据(如果是在后台的话同样也是 30 秒的更新时间),但如果 app 被 kill 了的话,上面说的两种方式都无效,除非重新启动 app。所以我有点好奇你这里所说的 "上滑退出的 app 可以发静默推送可以让 app 有一点点时间执行代码",请问有相关文档么?
    finab
        7
    finab  
       Apr 23, 2019
    @MrStark
    NotificationServiceExtension
    https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension
    就算程序上滑退出,收到推送时也会先执行这里的代码,也可以对推送做任何修改
    MrStark
        8
    MrStark  
       Apr 23, 2019
    @finab 原来是 UNNotificationServiceExtension,iOS10 新增的一些 API 没研究过,学习了。
    liaoyaoheng
        9
    liaoyaoheng  
       Apr 23, 2019 via iPhone
    @finab 关闭后台应用刷新都只要有推送都可以调用 NotificationServiceExtension ?请教
    finab
        10
    finab  
       Apr 23, 2019
    @liaoyaoheng
    是的, 但是并不会启动主 APP,就是一个小扩展吧
    liaoyaoheng
        11
    liaoyaoheng  
       Apr 23, 2019 via iPhone
    @finab 感觉这个只是处理推送消息的解密或显示方式,并不会保活后台?

    再请教下,这样的处理推送的时间是否会计算到 app 后台时间?如微信,关闭后台刷新打开推送,但是后台依旧显示很多的后台时间
    finab
        12
    finab  
       Apr 24, 2019   ❤️ 1
    @liaoyaoheng
    用途很多,推送图片视频时在这下载图片视频、QQ 在这将远程推送改为本地推送用于管理所有推送的显示或状态

    每一个推送都有一小段时间(我没测试过,应该是最多 30 秒)运行代码,理论上说你执行啥代码都行。
    但这个代码是独立与主程序的,就相当于一个扩展,它的执行与主 APP 无关,也不可能唤醒保活之类的

    这个会不会计算到后台运行时间我并不确定
    不过后台运行就算没有任何权限,APP 在挂起后也有不短的一段时间可以继续在后台运行的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3136 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 14:08 · PVG 22:08 · LAX 07:08 · JFK 10:08
    ♥ Do have faith in what you're doing.