Обнаружить, если приложение загружается с помощью TestFlight от Apple [дубликат]


На этот вопрос уже есть ответ здесь:

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

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

1 18

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