iOS 10今日视图小工具:如何判断它是*实际*在屏幕上/可见?

Dan*_*anM 9 objective-c ios today-extension ios10 ios10-today-widget

我有一个小部件,它可以在一天中定期从服务器检索更新,但是如果用户实际查看它,则希望它立即再次更新.这总是在iOS 8/9中运行良好... viewWillAppear特别是当视图即将出现时触发.

但在iOS 10中,它似乎也会在其他时间发生.不知道什么时候.但突然间,我在更新服务上获得了大约5倍的点击量,这是一项付费服务​​,所以这是一个真正的问题.

在Today小部件上,有没有办法保证小部件实际可见?或者,至少,今日视图实际上是可见的?

Dan*_*orm 6

我敢打赌,5倍的点击次数是因为用户现在如何在iOS 10上解锁他们的设备.从锁定屏幕轻扫可显示用户小部件,而不是解锁其设备.如果您在viewWillAppear每次用户肌肉记忆尝试以旧方式解锁设备时请求您,则通过轻扫,您的小部件正在发送服务器请求.您可能希望为请求设置计时器,或添加刷新按钮.