在 Swift 中的主应用程序和 Today widget/extension 之间共享 UI 元素

Sharing UI elements between main App and Today widget/extension in Swift

我的应用程序 ViewController 上有一些 UI 元素(主要是 UI 标签)。我必须在 Today 扩展的视图控制器上重新创建这些。这似乎不对。有没有办法 share/reuse 这些 UI 元素;例如在容器视图中?

有几种方法可以做到这一点。 (Swift 模块、框架、静态库)

获得所需内容的最简单方法是将视图的文件添加到 Today 小部件目标的构建源中。

如果您 UI 组件是 AwesomeView.swift 它将列在:
Xcode 项目设置 > 目标 > MainApp > 构建阶段 > 编译源

转到:
目标 > TodayWidget > 构建阶段 > 编译源

然后单击 + 并将 AwesomeView.swift 文件也添加到今天的小部件目标。现在它将被编译成两个二进制文件,并且可以被两个二进制文件使用。