让苹果小部件频繁刷新 - 使用蛮力
Posted
技术标签:
【中文标题】让苹果小部件频繁刷新 - 使用蛮力【英文标题】:Getting apple widgets to refresh frequently - using brute force 【发布时间】:2021-11-18 01:05:35 【问题描述】:我尝试了多种操作组合来调用小部件刷新
我的主屏幕上有邮件应用小部件,它需要永远刷新。
我希望设置一个快捷方式来调用它。但是不存在
因为我的 iPad 一直插在电源上,所以我很高兴以最小的间隔这样做
我相信这是可以做到的。其他人是如何做到这一点的
也欢迎其他解决方案,但我似乎只能走捷径??
【问题讨论】:
【参考方案1】:WidgetKit 小部件更多地是关于显示信息,而不是关于实时更新和与用户的交互。
在the documentation 中,Apple 表示每个小部件都有一个刷新配额(“每日预算”)。
预算分配是动态的,会考虑许多因素,包括:
小部件对用户可见的频率和时间。 小部件的上次重新加载时间。 小部件的包含应用程序是否处于活动状态。
对于用户经常查看的小部件,每日预算通常包括 40 到 70 次刷新。此速率大致相当于每 15 到 60 分钟重新加载一次小部件,但这些时间间隔通常会因涉及的许多因素而变化。
请注意,如果小部件不经常显示(例如,用户已将其放在今日视图中并且此后从未打开过今日视图),ios 可能会暂停刷新计划。
至于您的问题,您确实有办法随时触发小部件刷新。但是,这样做需要您设置推送通知。看,小部件拥有的应用程序可以触发刷新,并且这些刷新不受配额限制。
所以基本上你要做的就是在你需要刷新它的小部件时(例如,当收件箱中有新电子邮件时)向你的应用发送推送通知,然后应用会调用WidgetCenter
’sreloadTimelines(ofKind:)
或reloadAllTimelines()
方法立即刷新小部件。
【讨论】:
谢谢,我开始认为这是不可能的。很遗憾我可以从默认邮件应用程序中得到这种行为 不错的应用创意——你觉得怎么样哈哈——苹果会这样做以上是关于让苹果小部件频繁刷新 - 使用蛮力的主要内容,如果未能解决你的问题,请参考以下文章
频繁更新小部件(比 updatePeriodMillis 允许的更频繁)