我为德国冰球联赛DEL制作了一个今日小部件。iOS 8今天的小部件在一段时间后停止工作
我从我们的服务器中加载下一个游戏并在tableView中显示它们。加载过程在提议的方法“widgetPerformUpdateWithCompletionHandler”中开始。最初我在“viewWillAppear”中加载了一些缓存数据。
一切工作到目前为止!
但是,一段时间(一天)的小工具停止工作后。当我打开通知中心时,窗口小部件显示正常,但不会再次更新。我必须从通知中心删除小部件,并且必须重新添加它。之后,小部件工作了一天,然后又停止工作。
要查看窗口小部件不在做什么,我在表格视图上方添加了一个状态文本的简单白色视图,同时在“widgetPerformUpdateWithCompletionHandler”中加载数据以查看窗口小部件是否在执行任何操作。小部件工作时会出现白色视图。当它不工作状态视图不会出现。所以我认为在widget在通知中心处于活动状态一段时间后,不会调用“widgetPerformUpdateWithCompletionHandler”方法。
我不知道是什么原因导致小部件停止工作。有任何想法吗?
是的,我发现相同。我尝试了一些东西,发现当网络请求需要一些时间(网络条件不好)时,widgetPerformUpdateWithCompletionHandler再也不会被调用。我认为完成处理程序以某种方式变得无效。你的解决方案将起作用,但这不是预期的方式。我根本没有使用widgetPerformUpdateWithCompletionHandler解决了这个问题。我希望这个问题在未来得到解决。 – 2014-10-09 16:54:06
因此,如果不使用widgetPerformUpdateWithCompletionHandler,你在其他地方调用你的网络请求? – 2014-10-10 03:44:48
是的,我调用viewDidAppear中的网络reuqest。所以小部件不会在后台刷新,但每次用户打开它。 – 2014-10-10 05:05:30