项目模块化
配置 Apollo iOS 单目标与多模块项目
确定如何配置您的项目以使用Apollo iOS时,您需要回答的第一个问题是:
您的项目将直接与 Apollo 交互,还是通过多个模块交互?
根据您项目的规模和复杂程度,它可能是构建成一个单一生成应用目标,或者由多个与 Apollo 交互的模块组成。
与 Apollo 的交互包括设置您的ApolloClient
;执行操作;使用生成的模型;交互集成缓存;以及任何其他使用 Apollo
或 ApolloAPI
库的功能。
单目标
单目标项目配置意味着您将与 Apollo 的所有交互从项目中的一个单独目标来完成。这通常适用于您的项目只包含一个单一生成应用目标的情况。
或者您可以在封装对 Apollo iOS 的依赖背后使用单目标配置与多模块项目。尽管封装 ApolloClient
的设置和操作执行是常见做法,但如果您希望在其他模块中使用生成的操作响应模型,则需要使用多模块项目配置。
对于单目标项目配置,您可以链接您的目标到 Apollo 库。您还可以选择性地链接到 ApolloSQLite
和/或 ApolloWebSocket
以启用它们的功能。
关于组成 Apollo iOS SDK 的库的更多信息,请参阅 Apollo iOS SDK。
多模块
多模块项目可以以多种方式从不同的模块与 Apollo 交互。
您可能有一些基础设施模块负责设置和管理 ApolloClient
和 NormalizedCache
,其他需要执行操作,还有其他仅消耗响应模型但从不直接与 ApolloClient
交互。
要将 Apollo iOS SDK 包含在具有多个模块的项目中:
- 将
Apollo
链接到配置或使用网络和缓存 API 的模块。- 可选地,将
ApolloSQLite
和/或ApolloWebSocket
链接到设置ApolloClient
的模块,以启用它们。
- 可选地,将
- 将
ApolloAPI
链接到仅包含或消耗生成的模型的模块。 - 如果您在使用 测试模拟,请将
ApolloTestSupport
链接到任何需要创建生成模型模拟的单元测试目标。