0

当应用程序处于后台/前台状态时,我需要从 todayextension 小部件视图控制器更新包含视图控制器的应用程序。让我们假设。

  1. 包含 viewcontroller 的应用程序包含信息列表。下一次按下主页按钮应用程序进入后台状态。
  2. 现在打开小部件并显示信息列表,如 TodayExtensionViewcontroller 中包含 viewcontroller 的应用程序所示。
  3. 如果您更新 TodayExtensionViewController 中的任何信息,当应用程序从后台状态变为前台状态时,我想在包含视图控制器的应用程序中复制相同的信息。
4

1 回答 1

0

您的应用程序和 Today 扩展程序必须能够共享数据。

首先,您必须将“App Group”功能添加到您的应用程序和 Today 扩展程序的 App ID 中,以便它们可以访问共享数据。

共享数据最简单的方法是使用共享用户默认值,但也可以共享持久的 Core Data 存储,例如。

每次您的应用程序进入前台时,它都应该检查共享数据是否已更改(或者只是从共享存储中重新加载其数据),以便在小部件中所做的更改生效。

每次用户更改应用程序中的数据时(或至少在应用程序变为“非活动”之前),应用程序都应更新共享数据,以便小部件是最新的。

Apple 的本指南是一个很好的起点。此外,还有很多很好的教程可以更详细地解释“数据共享”。

于 2018-02-06T07:43:49.990 回答