我可以判断我的应用程序是否在Apple Test Flight Beta下运行

时间:2015-02-02 17:38:12

标签: testflight

在先前的测试飞行系统中,我们推动了AdHoc构建,我们使用编译器常量来识别我们的beta测试人员的开启/关闭功能。现在有了Apple的Beta测试飞行系统,我们必须为App Store构建,即不是AdHoc,这很好,好像它测试良好,我们可以使用相同的构建进行生产审查。

iOS中有没有办法检测到构建是Test Flight交付的构建,所以我们知道"这是beta"并使用AdHoc编译器常量做同样的事情吗?

谢谢

2 个答案:

答案 0 :(得分:1)

有一种方法可以将它用于我的项目。

在Xcode中,转到项目设置(项目,而不是目标)并将“beta”配置添加到列表中:

enter image description here



然后,您需要创建将在“beta”配置中运行项目的新方案。要创建方案,请访问:

enter image description here



将此方案命名为您想要的任何名您应该编辑此方案的设置。要执行此操作,请点击此处:

enter image description here



选择存档选项卡,您可以在其中选择Build configuration

enter image description here



然后你需要添加一个值Config,其值为$(CONFIGURATION)项目信息属性列表,如下所示:

enter image description here



然后就是你需要在代码中执行特定于beta版本的事情:

let config = Bundle.main.object(forInfoDictionaryKey: "Config") as! String
if config == "Debug" {
  // app running in debug configuration
}
else if config == "Release" {
  // app running in release configuration
}
else if config == "Beta" {
  // app running in beta configuration
}

答案 1 :(得分:0)

这是一个简单实用的功能,您可以在任何应用中使用它来轻松检查运行的应用是否已由TestFlight安装:

func isTestFlight() -> Bool {
    guard let path = Bundle.main.appStoreReceiptURL?.path else {
        return false
    }
    return path.contains("sandboxReceipt")
}

无需创建特殊的构建配置,方案等。