Objective-C - 拥有TestFlight配置以包含TestFlight SDK

Pet*_*rbo 3 testing configuration objective-c target testflight

我按照TestFlight的说明复制了"发布"配置.此外,我正在使用TestFlight SDK从我的应用程序获取实时报告.通过这样做,我必须在我的应用程序中包含一些TestFlight代码.当然我不想在我的应用程序的发布版本中使用此代码.

有没有办法只在testflight配置(重复版本配置)中包含此代码?您可以使用#ifdef DEBUG与调试配置相同的方式(或者我是否必须为此创建单独的目标,并且仅在该目标中包含TestFlight SDK?)

Ker*_*rni 7

你可以#ifdef很容易地使用语句排除代码运行,正如我们在这里建议的HockeyApp服务:http://support.hockeyapp.net/kb/client-integration/crash-reporting-on-ios-quincykit

基本上它是:

  1. 为您的Xcode项目添加预处理器宏以获取所有配置: CONFIGURATION_$(CONFIGURATION)

  2. 然后,您将能够使用这些代码行来仅包含特定配置的代码:

    #if defined (CONFIGURATION_Beta)
        // YOUR CODE
    #endif
    
    Run Code Online (Sandbox Code Playgroud)
  3. 这将替换Beta为仅包含代码的配置名称

上面的链接提供了有关如何操作的图像和更详细的文本.由于您将仅在Beta分发配置中使用该库,因此除了已经创建的用于beta分发的配置之外,您不需要创建其他配置.

您需要有一个用于调试的配置,用于开发,一个用于beta分发以设置特殊权利,一个用于应用商店分发.最后两个通常是版本配置的变体.

  • 我建议接受这个答案.我按照这里的步骤和链接,在[博客文章](http://justatheory.com/computers/os/ios/integrate-testflight-sdk.html)中写下了详细信息. (3认同)