ios - 我有 4 个不同的 xcode 项目。我想从一个项目调用不同项目的 viewcontroller。我该怎么做

标签 ios swift xcode xcode-workspace

对于 git 不同分支上的不同模块,我有 4 个不同的 XCode 项目。 我想制作一个通用项目/应用程序,通过它我可以调用所有 4 个模块。 有模块将像表中的列表一样显示。 通过共同登录,将调用所有模块。 我该怎么做?

到目前为止我做了什么: 我已经检查了所有模块并将它们添加到一个工作区中。 但是如果不让它们成为框架,我就无法从公共(public)项目中调用它们。 我的模块也很大,访问的框架类需要公开。 那么有没有其他好的方法可以做到这一点。 希望我能够解决我的问题..

谢谢

最佳答案

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

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

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

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

“子模块允许您将 Git 存储库保留为另一个 Git 存储库的子目录。这使您可以将另一个存储库克隆到您的项目中,并使您的提交分开。”

换句话说,您可以继续单独维护每个 View Controller ,并且提交可以包含到您的整个项目中。

(请注意,子模块不必是单独的项目本身,您可以只将 View Controller 设为单独的子模块,但这可能在设置和维护方面有点复杂)

a) 如果还没有的话,让每个包含你想要的 View Controller 的项目成为一个 git 仓库。

b) 为你的主项目创建一个 git 仓库(如果它还没有的话)

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

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

关于ios - 我有 4 个不同的 xcode 项目。我想从一个项目调用不同项目的 viewcontroller。我该怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51874979/

相关文章:

ios - 或者在 whereField 中从 Firestore 中获取文档

ios - 我如何创建一个带有静态单元格的 UItableViewContoller 并将带有原型(prototype)单元格的 UITableView 插入其中一个静态单元格?

ios - 如何解决警告: "Unsupported Configuration: Tab Bar Controller NIB Name set to MainWindow.nib"?

ios - 将 URLSession.DataTaskPublisher 转换为 Future 发布者

ios - undefined symbol _RCTRegisterModule

ios - xib 和代码之间具有不同高度的 UIView

Xcode 4 - Interface Builder 中是否有类似 "reveal in canvas"的内容?

ios - TableView 中混合 UIPicker 和 TextField

ios - 如何在 SwiftUI 中自定义文本

ios - Tableview Feed 图像