我已经按照TestFlight的说明复制了"release“配置。此外,我正在使用TestFlight软件开发工具包从我的应用程序中获取实时报告。通过这样做,我必须在我的应用程序中包含一些TestFlight代码。当然,我不希望在我的应用程序的发布版本中包含这些代码。
有没有办法在testflight配置(复制的发布配置)中只包含这段代码?使用#ifdef DEBUG
进行调试配置的方法与此相同(或者,我是否必须为此创建一个单独的目标,并仅在该目标中包含TestFlight SDK?)
发布于 2011-11-07 18:28:13
您可以很容易地使用#ifdef
语句将代码排除在运行之外,正如我们在这里为我们的HockeyApp服务建议的那样:http://support.hockeyapp.net/kb/client-integration/crash-reporting-on-ios-quincykit
基本上是这样的:
Xcode
CONFIGURATION_$(CONFIGURATION)
#if defined (CONFIGURATION_Beta) //您的代码#endif
Beta
替换为您的配置名称,该配置应该只包含代码上面的链接提供了关于如何做到这一点的图像和更详细的文本。由于您将仅在beta发行版配置中使用该库,因此除了已经为beta发行版创建的配置之外,您不需要创建其他配置。
您需要有一个用于调试的配置,一个用于开发,一个用于beta发行版,用于设置特别授权,还有一个用于应用商店发行版。最后两个通常是发布配置的变体。
发布于 2011-11-06 20:42:13
我认为你必须创建一个单独的构建配置,并使用像#ifdef TESTFLIGHT
这样的东西。您应该为该配置添加宏,以便仅为TestFlight配置定义它。
发布于 2011-11-06 20:46:45
我的解决方案是在Git中为Testflight版本建立一个单独的分支,其中包括SDK和代码中的调用、头文件等。
然后,我在主分支上完成所有工作,并使Testflight分支与这些更改保持同步。这样我就不需要在发布版本中包含不使用的库或头文件了。
这比听起来的要简单。
https://stackoverflow.com/questions/8027043
复制相似问题