添加一个 Xcode 子项目:不应该复制所有源文件吗?

Adding an Xcode subproject: Shouldn't all the source files get copied?

我正在手动添加 SQLite.swift subproject to my project. As the directions indicated, I copied the .xcodeproj file to my project. This allows me see all the source files (unlike this SO question).

一切似乎都运行良好。但是,我发现那个子项目的源文件并没有复制到我的项目中。它们仍在我下载它们的原始位置。这是设计使然吗?如果我以后想与其他人共享我的项目源代码怎么办?他们没有我的项目运行所必需的子项目源代码。

如果我确实需要将子项目源复制到我的项目中,我该怎么做?

首先将它添加到您的文件系统结构中。例如,在 "Chimee"-project 上按 "Show in Finder",这将引导您进入它所在的文件夹。然后在其中复制 SQLite-project 结构。

然后您可以将 xcodeproj 拖放到您的项目中,它仍然 link 到它的原始路径,但因为它现在在您的项目结构中就不再是问题了。

我猜这是设计使然,因为当您尝试通过 将文件添加到 "YourProject" 时,您可以 select 如果需要复制项目-选项但它仍然不会被复制(仅适用于 .xcodeproj-files,它适用于所有其他文件类型)

经过更多研究,我现在觉得使用依赖项管理器(如 CocoaPods 或 Carthage)比手动将框架添加到项目中更好。

  • 这将使以后的更新更容易。
  • Github源代码共享和App Store提交问题已经考虑。

如果您遵循这个优秀的指南,使用 Carthage 并不难:Carthage Tutorial: Getting Started

备注

  • 在使用 Carthage 安装框架之前删除您手动复制的框架文件。
  • 我暂时接受@TMob 的回答,但我不再追求那条路线。