Swift 模块作为Xcode项目中的独立框架

Swift 模块作为Xcode项目中的独立框架,swift,xcode,frameworks,viper-architecture,Swift,Xcode,Frameworks,Viper Architecture,假设有一个包含50个Swift模块的Xcode项目。 模块是由7个文件组成的“毒蛇”模块: 视图控制器 演讲者 互动者 网络管理员 路由器 实体 要编译的文件超过了50*7=350,我真的想把它们分成50个框架,每个模块一个,以提高解耦和重新编译的速度 请记住,我不想为所有实体、路由器等创建单个模块。但是,单个模块包含实例化和使用该“视图”所需的所有文件(通常为7个文件) 在一个应用程序中有这么多框架吗? 它可以扩展到70、80、90甚至100个框架 干杯 带来了潜在的负面影响。在苹果的审查

假设有一个包含50个Swift模块的Xcode项目。 模块是由7个文件组成的“毒蛇”模块:

  • 视图控制器
  • 演讲者
  • 互动者
  • 网络管理员
  • 路由器
  • 实体
要编译的文件超过了
50*7=350
,我真的想把它们分成50个框架,每个模块一个,以提高解耦和重新编译的速度

请记住,我不想为所有
实体
路由器等创建单个模块。但是,单个模块包含实例化和使用该“视图”所需的所有文件(通常为7个文件)

在一个应用程序中有这么多框架吗?

它可以扩展到70、80、90甚至100个框架

干杯
  • 带来了潜在的负面影响。在苹果的审查过程中,太多的框架可能会导致苹果AppStore应用程序中出现太多的符号文件
  • 正如所解释的,您可以选择一些VIPER区域(可能是演示者、交互者、实体、路由器,如果它只处理应用程序域中的概念/构造),使它们成为静态库,而不是动态链接的动态库框架,因为它们只会是代码,没有苹果操作系统认可的资产(XIB、字体、图像等)。在允许的情况下(由于缺少资源),使用静态库可以大大减少伴随dylibs的符号文件的数量
  • 在一个应用程序中有这么多的框架吗

    是。使用大量动态框架可以

    另外,从个人经验来看,在一个项目中使用大量的类或模块,这些类或模块的功能几乎相同,但并不完全相同,这是非常可怕的。在过去的某个时候,您往往会得到大量被复制和粘贴的代码,弄清楚差异是必要的,还是仅仅是随着时间的推移而产生的微小差异是非常痛苦的。尽一切可能保持基类中的所有常见行为。例如,我不知道您的NetworkManager对象是做什么的,但我发现很难相信您需要50种不同的实现