1

我试图了解为项目禁用位码的含义。据我了解,Apple 打算将其用于一些幕后优化,以应对未来的 API 更改。但是,我使用的许多框架/Cocoapods 不使用位码,所以我不得不禁用它。我应该尝试解决问题而不仅仅是禁用位码吗?发送启用了位码的二进制文件有什么好处?

对带有 cocoapods 或其他 3rd 方库的项目禁用位码有什么影响?

4

1 回答 1

2

主要是如果你禁用了它,苹果以后不会自动优化它。阅读以下 Apple 文档的详细信息。

位码是已编译程序的中间表示。您上传到 iTunes Connect 的包含位码的应用程序将在 App Store 上进行编译和链接。包含位码将允许 Apple 在未来重新优化您的应用程序二进制文件,而无需向商店提交您的应用程序的新版本。

Xcode 默认隐藏构建期间生成的符号,因此 Apple 无法读取它们。只有当您在将应用程序上传到 iTunes Connect 时选择包含符号时​​,才会将符号发送到 Apple。您必须包含符号才能接收来自 Apple 的崩溃报告。

注意:对于 iOS 应用程序,位码是默认设置,但可选。如果您提供位码,则应用程序包中的所有应用程序和框架(项目中的所有目标)都需要包含位码。对于 watchOS 和 tvOS 应用程序,需要位码。

于 2015-09-29T05:48:30.097 回答