检测iOS App是否从Apple的Testflight下载

时间:2014-12-04 15:13:58

标签: ios cocoa-touch itunesconnect testflight

过去,我已经为生产提供了单独的构建配置,并通过TestFlight分发了beta版本。这样可以轻松地对beta版本进行修改,例如公开应用程序的其他设置,让测试人员更彻底地测试内容,并查看有关应用程序状态的更多技术信息。

有没有办法检查是否已通过Apple的TestFlight分发应用程序以更改应用程序的运行方式?编译器指令不再有意义,因为相同的构建可以分发给beta测试人员并提交给商店,但也许有一种方法可以在运行时进行检查。

1 个答案:

答案 0 :(得分:34)

这有效:

if ([[NSBundle mainBundle] pathForResource:@"embedded" ofType:@"mobileprovision"]) {
    // TestFlight
} else {
    // App Store (and Apple reviewers too)
}

<强>更新

上述方法似乎不再适用,Apple改变了他们签署TestFlight构建的方式。但这确实有效:

BOOL isRunningTestFlightBeta = [[[[NSBundle mainBundle] appStoreReceiptURL] lastPathComponent] isEqualToString:@"sandboxReceipt"];