可以将框架添加到 iOS 项目 block/hide 访问项目中的其他文件吗?

Could adding a framework to an iOS project block/hide access to other files in the project?

将 Dropbox SDK Framework 添加到我的 Xcode 项目 (iOS) 后,我的项目由于下面图 1 中显示的错误而无法构建:

在添加 Dropbox Framework 或恢复到之前的提交之前,会导致项目构建和 运行 出问题。我还在一个单独的演示项目中测试了相同的 Dropbox SDK Framework 包,以确保它没有损坏 - 并且该演示项目构建和运行正常,按预期访问 Dropbox SDK。

Dropbox SDK Framework 是否可能在我的主项目中隐藏或阻止对 GLKit Framework 的访问?

还是这里有其他问题?屏幕截图中显示的第二个错误声称桥接 header 也 'Failed to import' 这是我以前从未见过的错误,通常是 'not found'。

drag-and-dropping 正在将 Dropbox SDK 框架添加到 Xcode 中,并在需要时勾选复制复选框。添加 Dropbox SDK Framework 后项目立即不再生成并报告这些错误。

我正在为可能有类似问题的其他人回答我自己的问题。虽然我没有找到问题的根本原因,但我确实通过以下解决方案解决了这个问题。

我最终从我的项目中删除了所有第三方框架:

  • ResearchKit 框架
  • Dropbox SDK 框架
  • 图表框架

此外,我从左侧文件列表中的项目中删除了所有 XCode 提供的框架:'Project Title -> General -> Linked Frameworks and Libraries'

然后我使用项目安装和设置 CocoaPods,并使用 CocoaPods 安装和管理我的第三方框架(ResearchKit、Dropbox SDK 和 Charts)

该项目现在能够构建并 运行 成功,并且可以访问 GLKit 框架以及所有其他 XCode 提供的框架、桥接头和 Dropbox SDK。

我认为此问题是由于 XCode 中的设置导致在添加 Dropbox SDK 后阻止访问 GLKit,而使用 CocoaPods 管理第三方框架的集成避开了此问题。

如果有人有任何进一步的见解,我很想听听您的解释。