iMessage 应用程序扩展可以使用主机应用程序中定义的视图控制器吗?

Can an iMessage App extension use View Controllers defined in the host app?

在创建作为现有 iOS 应用程序扩展的 iMessage 应用程序时,iMessage 应用程序可以使用在宿主应用程序中定义的视图控制器吗?

例如,假设我有一个 iOS 应用程序,可以让您预订会议,并且它有一个显示会议的日历视图。在我的 iMessage 应用程序扩展中,我希望能够显示完全相同的日历视图。我可以使用 iOS 应用程序中定义的 CalendarViewController 还是必须在 iMessage 应用程序扩展中再次 re-create UI?

是的,您只需要确保将代码和情节提要添加到主应用程序和 iMessage 扩展目标。有几种方法可以做到这一点。

您可以通过查看文件检查器来查看特定文件属于哪些目标,如下所示:

您还可以查看目标的构建阶段,查看正在编译哪些源或正在捆绑哪些资源,并根据需要查看 add/remove 个文件: