【问题标题】:How can I update my iOS Today widget from the containing app?如何从包含的应用程序更新我的 iOS Today 小部件?
【发布时间】:2015-03-08 11:57:23
【问题描述】:

我将在我的 iOS 应用的下一个版本中包含一个 Today 扩展。仅当用户对包含应用程序管理的数据库进行特定更改时,小部件的内容才会更新。

有没有办法从包含的应用程序向 Today 小部件进程发送某种信号,让它知道它的数据已经失效,并且它应该在下次用户拉下通知中心时重新加载自己?

【问题讨论】:

    标签: ios ios8-today-widget notificationcenter


    【解决方案1】:

    您不需要自己更新小部件,iOS 会尝试定期更新它。每次 iOS 执行此操作时,都会调用小部件中的一个函数。这是函数:

    func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!)
    

    如果您的数据发生了变化,请致电

    completionHandler(.NewData)
    

    否则,如果您的数据没有更改,请致电

    completionHandler(.NoData)
    

    就是这样!并且不要在那个函数中做任何需要大量时间的东西,因为 iOS 可能会“杀死”你的小部件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2014-12-30
      • 2021-02-19
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多