如何从App Store版本构build中删除特定的框架和代码?

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

我创build了一个新的“App Store”构buildconfiguration,但是我怎么能教Xcode哪个框架我想被包含在这个构build中? 我怎样才能使这些框架的代码有条件的,所以它被排除在App Store发布版本?

您有三个组件的过程,在您的青睐,删除无关的代码。

首先,你有预处理器。 如果你用#if DEBUG语句包装你的TestFlight导入和代码,那么你会没事的。 #if语句的devise使得预处理器将删除不需要的额外语句。 它不会让它到编译器。

其次,编译器在你身边。 编译器很聪明,可以从发布版本中剥离死代码。 如果你编写代码而不使用它,即使它通过了预处理器,它也不会把它变成最终的二进制文件。

第三,如果你真的担心这些框架将其纳入到你的发布版本中,你可以在Xcode中增加一个额外的目标,并且改变这个目标的链接器选项。 这不是必要的,但如果你愿意的话,这个选项就是你的。 这是最接近你的“明确的排斥”。

老实说,相信你的编译器和链接器,除非他们给你理由不要。