繁体   English   中英

检测TestFlight?

[英]Detect TestFlight?

我更喜欢使用与TestFlight和App Store相同的构建配置。 有没有办法在运行时检测应用程序是否已通过TestFlight或App Store安装? (我的想法是,如果没有通过App Store安装,我只会调用takeOff 。)

我想避免在App Store版本中使用TestFlight来保护我的用户的隐私,并避免这里讨论的网络的潜在脱轨。

我认为这足够接近于重复检查iOS应用程序是否在应用商店中存在 ,这可以关闭。

您可以通过检查是否缺少embedded.mobileprovision来确定您的应用是否通过应用商店分发。 此文件仅包含在adhoc版本中。 因此,如果您只通过TestFlight或HockeyApp分发构建,并且它不是商店构建,则它必须是TestFlight或HockeyApp构建。

像这样:

if ([[NSBundle mainBundle] pathForResource:@"embedded"
                                    ofType:@"mobileprovision"]) {
  // not from app store
} else {
  // from app store
}

这项技术来自HockeyApp SDK

要在Swift中确定Debug,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
  }

完整的来源和样本: https//stackoverflow.com/a/33830605/639227

是一篇博客文章,向您展示如何添加除Debug和Release之外的其他配置(例如Beta)。

添加Beta配置后,您将创建另一个项目方案。 然后编辑这个新方案。 在Archive部分下,请选择使用Beta配置。 然后,您使用此方案存档Testflight和以前的方案来实现app store。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM