我更喜欢对TestFlight和App Store使用相同的构建配置。有没有办法在运行时检测应用程序是通过TestFlight还是app Store安装的?(我的想法是,只有当takeOff不是通过App Store安装时,我才会调用它。)
我希望避免在应用商店构建中使用TestFlight,以保护我用户的隐私,同时也避免讨论的网络here的潜在脱轨。
发布于 2012-12-22 02:34:21
我相信这足够接近于Check if iOS app is live in app store的副本,可以关闭。
您可以通过检查是否缺少embedded.mobileprovision.来确定您的应用程序是否通过应用程序商店分发此文件仅包含在即席构建中。因此,如果您仅通过TestFlight或HockeyApp分发构建,并且它不是商店构建,则它必须是TestFlight或HockeyApp构建。
如下所示:
if ([[NSBundle mainBundle] pathForResource:@"embedded"
ofType:@"mobileprovision"]) {
// not from app store
} else {
// from app store
}这项技术来自the HockeyApp SDK。
发布于 2015-11-21 06:41:11
要确定Swift中的调试、TestFlight或AppStore部署:
private static let isTestFlight = NSBundle.mainBundle().appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"
// This can be used to add debug statements.
static var isDebug: Bool {
#if DEBUG
return true
#else
return false
#endif
}发布于 2017-02-16 10:35:33
Here是一篇博客文章,它向您展示了如何添加除调试和发布之外的其他配置(例如:测试版)。
添加Beta配置后,您可以创建另一个项目方案。然后编辑这个新方案。在存档部分下,请选择使用Beta配置。然后,将此方案用于Testflight的存档,并将先前的方案用于应用商店的实现。
https://stackoverflow.com/questions/12431994
复制相似问题