【问题标题】:Getting apple widgets to refresh frequently - using brute force让苹果小部件频繁刷新 - 使用蛮力
【发布时间】:2021-11-18 01:05:35
【问题描述】:

我尝试了多种操作组合来调用小部件刷新

我的主屏幕上有邮件应用小部件,它需要永远刷新。

我希望设置一个快捷方式来调用它。但是不存在

因为我的 iPad 一直插在电源上,所以我很高兴以最小的间隔这样做

我相信这是可以做到的。其他人是如何做到这一点的

也欢迎其他解决方案,但我似乎只能走捷径??

【问题讨论】:

    标签: ios widgetkit


    【解决方案1】:

    WidgetKit 小部件更多地是关于显示信息,而不是关于实时更新和与用户的交互。

    the documentation 中,Apple 表示每个小部件都有一个刷新配额(“每日预算”)。

    预算分配是动态的,会考虑许多因素,包括:

    • 小部件对用户可见的频率和时间。
    • 小部件的上次重新加载时间。
    • 小部件的包含应用程序是否处于活动状态。

    对于用户经常查看的小部件,每日预算通常包括 40 到 70 次刷新。此速率大致相当于每 15 到 60 分钟重新加载一次小部件,但这些时间间隔通常会因涉及的许多因素而变化。

    请注意,如果小部件不经常显示(例如,用户已将其放在今日视图中并且此后从未打开过今日视图),iOS 可能会暂停刷新计划。

    至于您的问题,您确实有办法随时触发小部件刷新。但是,这样做需要您设置推送通知。看,小部件拥有的应用程序可以触发刷新,并且这些刷新不受配额限制。

    所以基本上你要做的就是在你需要刷新它的小部件时(例如,当收件箱中有新电子邮件时)向你的应用发送推送通知,然后应用会调用WidgetCenter’sreloadTimelines(ofKind:)reloadAllTimelines() 方法立即刷新小部件。

    【讨论】:

    • 谢谢,我开始认为这是不可能的。很遗憾我可以从默认邮件应用程序中得到这种行为
    • 不错的应用创意——你觉得怎么样哈哈——苹果会这样做
    猜你喜欢
    • 2011-03-19
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 2011-02-21
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多