我需要Carthage创建的bcsymbolmap文件吗?

cod*_*nd1 17 git xcode carthage bitcode

我在iOS项目中使用Carthage依赖管理器.我Carthage/build在我的存储库中有文件夹,在签出repo时总是准备好构建框架.

我想知道bcsymbolmapbuild文件夹中的文件是什么.其中有不少是每个人都创造出来的carthage update.

我需要保留这些文件吗?我应该在我的存储库中拥有它们吗?

lob*_*tah 5

不,您不需要这些文件。如果您正确设置 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