0

我有一个使用 TestFlight SDK 和其他调试框架的应用程序,我想为 App Store 发布版本自动删除它们。

我创建了一个新的“App Store”构建配置,但是我如何教 Xcode 我想在这个构建中包含哪些框架?以及如何使使用这些框架的代码有条件,以便将其排除在 App Store 发布版本之外?

4

1 回答 1

2

您有三个对您有利的过程组件,以删除无关代码。

首先,你有预处理器。如果你用#if DEBUG语句包装你的 TestFlight 导入和代码,那么你会没事的。该#if语句的设计目的是使预处理器会删除您不需要的额外语句。它不会进入编译器。

其次,编译器为您服务。编译器很聪明地从发布版本中剥离死代码。如果您编写代码并且不使用它,即使它通过了预处理器,它也不会成为最终的二进制文件。

第三,如果你真的担心那些框架会进入你的发布版本,你可以在 Xcode 中创建一个额外的目标,并更改该目标的链接器选项。这不是必需的,但如果您愿意,可以选择。这是最接近您的“明确排除”的。

不过,老实说,请相信你的编译器和链接器,除非他们给你理由不这样做。

于 2013-06-04T15:26:46.100 回答