在先前的测试飞行系统中,我们推动了AdHoc构建,我们使用编译器常量来识别我们的beta测试人员的开启/关闭功能。现在有了Apple的Beta测试飞行系统,我们必须为App Store构建,即不是AdHoc,这很好,好像它测试良好,我们可以使用相同的构建进行生产审查。
iOS中有没有办法检测到构建是Test Flight交付的构建,所以我们知道"这是beta"并使用AdHoc编译器常量做同样的事情吗?
谢谢
答案 0 :(得分:1)
有一种方法可以将它用于我的项目。
在Xcode中,转到项目设置(项目,而不是目标)并将“beta”配置添加到列表中:
然后,您需要创建将在“beta”配置中运行项目的新方案。要创建方案,请访问:
将此方案命名为您想要的任何名您应该编辑此方案的设置。要执行此操作,请点击此处:
选择存档选项卡,您可以在其中选择Build configuration
然后你需要添加一个值Config
,其值为$(CONFIGURATION)
项目信息属性列表,如下所示:
然后就是你需要在代码中执行特定于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")
}
无需创建特殊的构建配置,方案等。