我有4个不同的xcode项目.我想从一个项目调用不同项目的viewcontroller.我怎么能这样做

Bai*_*ngh 9 xcode ios xcode-workspace swift

我有4个不同的XCode项目,用于git的不同分支上的不同模块.我想制作一个通用项目/应用程序,通过它我可以调用所有4个模块.模块将像表格中的列表一样显示.通过通用登录,将调用所有模块.我怎样才能做到这一点?

到目前为止我做了什么:我已经将所有模块结帐并将它们添加到一个工作区中.但是没有制作框架,我无法从共同项目中调用它们.此外,我的模块很大,要访问的框架类需要公开.那么没有其他好方法可以做到这一点.希望我能够澄清我的问题..

谢谢

Roc*_*den 5

要解决此问题,您需要一个依赖关系管理解决方案,因为您希望在整个项目中自动反映对各个项目的更改.由于实际原因(框架类的大小和访问级别),您已经决定不能使用框架,这是自然的选择.

解决方案是为源代码找到不同的依赖关系管理解决方案.

下一个最明显的选择是使用git子模块,因为它已明确设计用于源级别的模块化.如果将此与@sjwarner建议的项目组织解决方案结合使用,您应该能够实现所需.

https://git-scm.com/book/en/v2/Git-Tools-Submodules

"子模块允许您将Git存储库保存为另一个Git存储库的子目录.这使您可以将另一个存储库克隆到项目中并使您的提交保持独立."

换句话说,您可以继续单独维护每个视图控制器,并且可以将提交包含在整个项目中.

(请注意,子模块本身不必是单个项目,您可能只使视图控制器单独的子模块,但这可能会设置和维护更复杂)

a)使每个项目包含你想要一个git存储库的视图控制器(如果它还不是).

b)为您的主项目创建一个git存储库(如果它还不是)

c)将每个项目作为git子模块添加到主git仓库

d)遵循@sjwarners关于整个项目的源代码组织的建议


sam*_*m-w 2

你上面已经说过了

所有项目都是独立运行的项目

这表明您的 4 个项目中的每一个都将其源文件编译成应用程序。

您似乎正在构建自己的新应用程序,因此您不关心这四个项目中的每一个正在构建的内容。您只关心源文件。

  • 忽略项目文件。
  • 找到.swift包含您感兴趣的对象的文件。
  • 将它们添加到您自己的项目中。
  • 建造。