Подтвердить что ты не робот

Обнаруживать, загружается ли приложение iOS из Apple Testflight

В прошлом у меня были отдельные конфигурации сборки для производства и бета-сборки, распространяемые через TestFlight. Это упростило вносить изменения в бета-версии, такие как просмотр дополнительных настроек приложения, позволяющих тестировщикам более тщательно проверять их и видеть больше технической информации о статусе приложения.

Есть ли способ проверить, было ли приложение распространено через Apple TestFlight, чтобы внести изменения в то, как приложение работает? Директивы компилятора больше не имеют смысла, поскольку одна и та же сборка может быть распространена среди бета-тестеров и отправлена ​​в хранилище, но, возможно, есть способ проверить ее во время выполнения.

4b9b3361

Ответ 1

Это работает:

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"];