ios - 将一个项目作为子模块添加到另一个项目

标签 ios swift git git-submodules

我有 项目 AUITabBarController。我的 Project B 带有一个具有功能的 View Controller 。 我想使用 git 将 Project B 添加到 Project A 作为子模块。然后,当我向 Project B 添加某些内容时,我可以从 Project A 获取它。

但是有没有办法在项目A的 Storyboard中使用项目B中的 View Controller ?

我找到了关于 git 子模块的手册: https://git-scm.com/book/en/v2/Git-Tools-Submodules

已添加Project B作为子模块,然后在Project A的 Storyboard中创建新的 View Controller ,将其类设置为Project B中的类名code> 并选择其模块。然后,当我运行应用程序时,我收到错误 Interface Builder 文件中的未知类 _TtC9Submodule23SubModuleViewController。

有人可以解释一下它是否可以这样工作或者我应该做什么来实现我的目标?

最佳答案

您有两件事正在发生 - 一是将 git 存储库与子模块一起使用,二是将子模块代码 pull 入 Xcode。

检查 Finder 以确保运行后在适当的子模块文件夹中创建了您的文件:

git submodule init 

初始化本地配置文件,并且

git submodule update  

从该项目中获取所有数据(您应该检查列出的适当提交的消息)。如果没问题,则从查找器中将文件拖放到 xCode 中的文件列表中,确保未选中“根据需要复制项目”并正确选中“添加到目标”。

enter image description here

您将能够使用您创建的 UITabBarController 类和代码,但仍然需要在 Main.storyboard 中创建它,并且如果您这样做,您需要小心对项目 A 中其他 View 的任何引用复制并粘贴(这可能是您的错误的来源)。

您可以考虑通过 xib 或 pod 来完成此操作。这是您尝试使用框架执行的操作的直接示例:

https://www.tapglue.com/blog/ios-frameworks-storyboards-swift/ https://github.com/tapglue/elements-ios

和 xib 的

https://medium.com/zenchef-tech-and-product/how-to-visualize-reusable-xibs-in-storyboards-using-ibdesignable-c0488c7f525d

关于ios - 将一个项目作为子模块添加到另一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49922974/

相关文章:

ios - xcode 10 - 核心数据迁移 String 到 Int

ios - 实例成员不能用于类型 'ViewController'

java - 从源 (Git) 提取单个文件

python - 如何使用最新版本的 pip 下载或安装 Gitlib 作为独立库?

ios - UICollectionView 在滚动出屏幕并重新打开时覆盖单元格标签

ios - 为什么我不能访问函数内部的 ViewController 变量 (Swift3)?

ios - 如何以编程方式设置 UITableView 的数据源?

git - 使用 Git 在 Jenkins 中排除区域

ios - 文件下载期间进度 block 中的负值

ios - 如何将另一个按钮与右侧导航项 (UIBarButtonItem) 对齐?