不,您不需要这些文件。如果您正确设置 Carthage,二进制文件、.dsym 和 .bcsymbolmap 文件将在构建阶段被复制。当您存档构建以使用 App Store 进行分发时,所有需要的文件都将包含在存档中,并且在您将构建上传到 App Store 后,您将能够随时上传 dsyms 文件(以便能够解码您的崩溃报告)。事实上,您不需要在存储库中存储 .dsyms 和 .bcsymbolmap 文件。
有一篇很好的文章解释了构建框架时发生的事情(以及 Carthage 脚本实际上做了什么)https://instabug.com/blog/ios-binary-framework/。它还解释了 .bcsymbolmaps 文件的用途 - 因此 Apple 服务器可以使用 Bitcode 重建您的代码,然后您可以对崩溃报告进行去符号化。
因此,您无需保留这些文件。无需将它们存储在存储库中。不存储 Build 文件夹内容的另一个原因是,无论如何,您的项目可能会在具有不同环境的另一台机器上构建失败。如果要使用相同版本的依赖项构建项目 - 使用 Carthagebootstrap
命令而不是update
.
PS你也可以调查什么copy-frameworks
命令:https :
//github.com/Carthage/Carthage/blob/fc0166b4827736bac2c804fc928797f1a742c455/Source/carthage/CopyFrameworks.swift